私はセッターメソッドを持っています。私はファーストクラスから値を設定して 私はセカンドクラスで自分の価値を得ることができます。しかし、その二重の値を別のメソッドに呼び出すと、ゼロを示します。なぜこれが起こっていますか?
ここに私のコードです。私はここに値を取得することができる午前セッターで :iphoneでセッターメソッドから二重取得を割り当てる方法
-(void)baseValue{
Advanced *advace=[[Advanced alloc]init];
double myDouble=([textfield0.text doubleValue]);
[advace setbasic:myDouble];
}
はその後、私は私の方法と基本的なdouble値このような同じクラスの別のメソッドを呼び出します:値を設定し
-(void)setbasic:(double)basic1{
basic = basic1;
NSLog(@"setbasic: %f",basic);
//console output
//setbasic: 104234.000000
}
-(void)calculate{
//here is the problem i can't get basic value
NSLog(@"calculatesetbasic: %f",basic);
//console output
//basic: 0.0000
}
ここでは0
が得られます。
私はこのようなメソッドの両方を呼び出す:私はあなたの問題は新しい高度を作成していると思う
->Pressed gets called.
Makes an advanced.
Calls baseValue in advanced.
->baseValue gets called.
baseValue creates a new advanced
retrieves the double.
sets the double in the new advance.
Calls calculate in advanced.
:あなたの流れはこのようなものです
:私はそれを参照してくださいどのように
-(IBAction)Pressed: (id) sender{
Advanced *advace=[[Advanced alloc]init];
[advace baseValue];
[advace calculate];
}
どのような方法には、どのクラスの内部で住んでいますか? –
@Mats Stijlaart - (void)calculateメソッドここでそのセッター値を取得する必要があります。 –
@MatsStijlaart - (void)calculateメソッドは同じクラスです。ここで私はセッター値を割り当てます。 –