我正在尝试从不同的XIB和类中执行操作。我已经盯着这段代码好几天了,是的,几天。请帮忙!下面是一些代码。
CaptionView.h文件
#import "processViewController.h"
CaptionView.m文件
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;
}
由于某种原因,没有调用该操作。任何帮助表示赞赏! - 库尔顿
答案 0 :(得分:3)
如果我没弄错,你就无法从工作线程更新UI。因此,您应该从主线程更改networkIndicator
。
您仍然可以使用此方法从工作人员触发此操作:
[self performSelectorOnMainThread:@selector(updateSpinner:)
withObject:nil
waitUntilDone:false];
来自the docs:
主线程包含应用程序的主运行循环,是NSApplication对象接收事件的地方。
此引用是指NSApplication
,适用于OSX,但我想这同样适用于iOS上的UIApplication
。但是找不到实际的报价。