は、私のような何かを持っている:私はアイバーズを使用することはできませんNSTimerの問題:間違ったロジックですか?ここ
void start() { for (id i in something) { [i start]; } }
void finish() { for (id i in something) { [i finish]; } }
static NSTimer *timer = nil;
@implementation aClass
- (void)start {
if (!timer) timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(change) userInfo:nil repeats:YES];
}
- (void)change { /* ... */ }
- (void)finish { [timer invalidate]; }
@end
注意をし、あなたが呼ばれる-start
を持つaClass
インスタンスがたくさんあると仮定することができますよう。
私はここで自分自身の問題に直面していると思います。ただ1つのインスタンス(最初に-start
と呼ばれる)が-change
を同時に呼び出すためです。私はsomething
配列から最初のオブジェクトを削除する場合は、2番目は大丈夫になりますので、それは、他のインスタンスとの問題ではない、と他の人が問題に直面しています。
私はいくつかの明白な間違っているのでしょうか? (私は、すべてのインスタンスで同じグローバルを使用しようとしていると思います...)。そのような問題を解決するにはどうすればよいですか?
、私は** **使用アイバーズすることはできません。 (もしできれば、この回答は私の問題を解決したはずです) – Matoe
そして、どうしてですか?関連付けられたオブジェクトを使用することができます。 –
私もそのことを考えましたが、私はそれについていくつかの問題を抱えていました。私はもう一度それを与えるだろうが、ありがとう! – Matoe