Đối với cuộc sống của tôi, tôi không thể tìm ra lý do tại sao NSTimer này không cháy. đây là tất cả mã có vẻ liên quan (ít nhất là với tôi)NSTimer không bắn
- (IBAction)connectClick:(id)sender
{
if (connected)
{
NSLog(@"Disconnecting");
[timer invalidate];
timer = nil;
connected = NO;
[Connect setStringValue:@"Connect"];
NSLog(@"Finished\n");
}
else
{
NSLog(@"Connecting");
timer = [NSTimer timerWithTimeInterval:2.0 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];
//[timer fire]; tested this line. same results
[Connect setStringValue:@"a"];
connected = YES;
NSLog(@"Finished\n");
}
}
- (void)timerFireMethod:(NSTimer*)theTimer
{
NSLog(@"Fireing event");
//[self resetRequest];
//[spinner startAnimation:nil];
//[request startAsynchronous];
}
Tôi đã đọc tài liệu về táo và các câu hỏi khác, nhưng tôi không thể hiểu được. Nó thậm chí không gọi timerDireMethod:
một lần. Tôi đã nghe nói điều này có thể được gây ra bởi các chủ đề khác nhau, nhưng theo như tôi có thể nói, tôi không sử dụng nhiều chủ đề.
Tất cả ý tưởng đều được chào đón.
thể trùng lặp của [NSTimer không bắn] (http://stackoverflow.com/questions/6752234/nstimer-not-firing) – Caleb
Có một số lý do mà bạn đang sử dụng NSEventTrackingRunLoopMode thay vì NSDefaultRunLoopMode? – Caleb
Xin lỗi đã đến muộn. Tôi chỉ nhận ra điều đó và sẽ thêm nó vào câu hỏi. nhưng có NSDefaultRunLoopMode làm việc. Xin lỗi vì đã làm bạn bối rối. –