メソッドで宣言された変数は、メソッド呼び出しが完了した後に消去されますか? つまり、メソッド「someMethod」があり、それが呼び出されるたびにスタックプロパティから別の NSString を返したい場合、メソッドはスタック上の次のオブジェクトを返すか、x が消去されてから最初のインデックスを返したままにしますか?メソッド呼び出しの終わり。関数呼び出し後に変数が消去されることをCが知っている場合、それは目的のCでも同じですか? 変数 x に別のプロパティを使用すると、この問題が発生しますか? ありがとう
(Double) someMethod{
int x;
[self.stack objectAtIndex:x];
x++;
}
コメントを読んだ後、x を置き換えるプロパティを作成しようとしましたが、ここに私が書いたものがありますが、「「_location」のローカル宣言がインスタンス変数を非表示にする」というエラー警告が表示されます。これはどういう意味ですか?
@property (nonatomic) int location;
@synthesize location=_location;
-(int) location{
if(!_location){
int _location = 0;
//warning is here
return _location;
}
_location++;
return _location;
}
(Double) someMethod{
int x;
[self.stack objectAtIndex:self.location];
x++;
}