Вы отсоединяете новый поток для вызова onTimerK2
, который затем немедленно вызывает метод обратно в главном потоке, что, конечно, заморозит ваш интерфейс.
Редактировать
Вы должны выполнять любую длительную работу не в основном потоке (либо самостоятельно, либо используя асинхронную природу NSURLConnection
, как упоминалось в другом месте), а затем обновлять свой пользовательский интерфейс, вызывая селекторы в основном потоке.по мере продвижения этой деятельности.
Сказав это, вы можете добиться большего успеха со следующими изменениями / переупорядочением вашего кода:
- (void)viewDidLoad {
timer = [NSTimer scheduledTimerWithTimeInterval:15
target:self
selector:@selector(onTimerK2)
userInfo:nil
repeats:YES];
}
- (void)onTimerK2{
[NSThread detachNewThreadSelector:@selector(onTimerKY2)
toTarget:self
withObject:nil];
}
- (void)onTimerKY2{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@"working");
[pool release];
}