Действие от разных XIB - PullRequest
       15

Действие от разных XIB

0 голосов
/ 19 марта 2011

Я пытаюсь выполнить действие из другого XIB и класса. Я смотрел на этот код уже несколько дней, да, дней. Пожалуйста помоги! Ниже приведен код.

CaptionView.h file

#import "processViewController.h" 

CaptionView.m file

processViewController *test = [[processViewController alloc] init];
[test startUploads];

processViewController.m

- (IBAction)startUploads {
[NSThread detachNewThreadSelector:@selector(startUploadsTwo) toTarget:self withObject:nil];
}

- (IBAction)startUploadsTwo {
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 

... code...

[pool release];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}

По какой-то причине действие не вызывается. Любая помощь приветствуется! - Култон

1 Ответ

3 голосов
/ 19 марта 2011

Если я не ошибаюсь, вы не можете обновить пользовательский интерфейс из рабочих потоков. По этой причине вы должны изменить networkIndicator из основного потока.

Вы все равно можете вызвать это у рабочего, используя этот метод:

[self performSelectorOnMainThread:@selector(updateSpinner:)
                            withObject:nil
                         waitUntilDone:false];

С Документы :

Основной поток включает в себя основной цикл выполнения приложения и является местом, где объект NSApplication получает события.

Эта цитата относится к NSApplication, который предназначен для OSX, но я думаю, что то же самое относится к UIApplication на iOS. Хотя не могу найти фактическую цитату.

...