我有一個iOS應用程序,一些客戶說不會加載,他們無限期地看到一個微調。此微調器在應用程序委託中啓動。應用程序未加載 - applicationDidBecomeActive
如果我在applicationDidBecomeActive委託中放置一個斷點,然後讓xcode運行,我終於可以重現這一點。這裏有一個NSTimer被調用。
我想知道這是否是別人看到的,是否與這個代表和NSTimers有衝突?
編輯:從內存中的代碼示例。我將不得不在稍後得到實際的代碼。
-(void)applicationDidBecomeActive:(UIApplication *)application {
[self toggleOpen];
}
- (void)toggleOpen {
if (!self.timer) {
self.timer = [NSTimer scheduledTimerWithTimeInterval:600 target:self selector:@selector(doWork) userInfo:nil repeats:YES];
} else {
[self.timer invalidate];
self.timer = nil;
}
}
- (void)doWork {
//Under certain conditions calls a web service (rarely)
}
顯示一些代碼並提供更多詳細信息,否則沒有人能夠提供幫助。 – rmaddy
是的,添加一些關於你的問題的代碼。 –
我試過你的代碼,它不會阻塞這個接口。按照預期調用doWork方法。可能問題在於這種方法的實現 –