0
NSTimerを作成するボタンを取得しようとしていますが、UIエレメントを更新するために関数(refreshView)が呼び出されますが、問題が発生しています。メソッドのシグネチャは間違っていますか?またはNSRunLoopの部分が間違っていますか?それともそれはちょうど恐ろしいベースからですか?どんな助けもありがとうございます。NSInvocationの問題NSTimerとNSMethodSignature
-(IBAction)reload:(id)sender{
NSInvocation *displayInvocation = [NSInvocation invocationWithMethodSignature:[self methodSignatureForSelector:@selector(refreshView)]];
[displayInvocation setTarget:self];
NSTimer *slideShowTimer = [NSTimer scheduledTimerWithTimeInterval:5.0
invocation:displayInvocation
repeats:YES];
[slideShowTimer fire];
NSRunLoop * a = [NSRunLoop currentRunLoop];
[a addTimer:slideShowTimer forMode:NSRunLoopCommonModes];}
-(void)refreshView{
[slideshow1 displayWithView:MajorImageView topicLabel:TopicLabel];
}
完全に明確にするには、 'scheduledTimer ... 'で作成されたタイマーが実行ループに_already_追加されていることを言及する必要があります。また、タイマーは 'fire'を送る必要はありません。 –
ありがとう、それは今完璧に動作しています! –