我确信之前已经问过,但我找不到运气。在我的应用程序数据中同步加载,这会锁定应用程序。我尝试过asynch加载,但这不适用于JSON解析器。
为了表示应用程序没有被冻结,只是处理下载数据,我希望向用户提供带有加载图标的小透明覆盖图。我想知道如何解决这个问题 - 我需要把它放在另一个线程上吗?
为了澄清,我想做一些与Netflix iPad应用程序非常相似的东西 - 它们的加载叠加层非常适合我正在进行的项目。
编辑:我在
下面添加了一些异步代码我首先调用此函数:
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSURLConnection *c = [[NSURLConnection alloc] init];
[self connectionWorks:c didReceiveData:data];
connectionworks
-(void)connectionWorks:(NSURLConnection *)connection didReceiveData:(NSData *)data{
OLWork *newWork;
NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSDictionary *results = [jsonString JSONValue];
NSArray *rawBooks = [results objectForKey:@"works"];
for (NSDictionary *work in rawBooks) {
newWork = [[OLWork alloc] init];
newWork.title = [work objectForKey:@"title"];
newWork.author = [[[work objectForKey:@"authors"] objectAtIndex:0] objectForKey:@"name"];
newWork.key = [work objectForKey:@"key"];
[self.works setValue:newWork forKey:newWork.title];
}
}
答案 0 :(得分:1)