如何在 viewDidLoad 的后台线程中执行 JSON 解析,并在单击按钮时将其移动到主线程。现在我试过了
[self performSelectorInBackground:@selector(parseData) withObject:nil];
-(void)parseData {
MSJsonParser *parser = [[MSJsonParser alloc]initWithParserType:kCountriesParsing];
parser._parserSource = self;
[parser requestParsingWithUrl:COUNTRIES_URL ];
}
但是我不知道如何将此后台进程更改为主线程。 请帮助我
该方法中你想要在主线程上运行的部分,只需将其粘贴在这个 GCD 块中,它就会在主线程上运行它:
dispatch_sync(dispatch_get_main_queue(), ^{
//put stuff here
});
参见 NSThread 中的 NSObject (NSThreadPerformAdditions)
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait modes:(NSArray *)array;
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;