说明: 在过去的几周里,我基本上从Stackoverflow学到了Obj-C和Cocoa Touch,所以很棒的社区,bravo。
唉,我遇到了一个问题,我无法找到答案,也不知道如何使用谷歌。
我正在创建一个100%与API服务接口的应用程序。这是过程:
我的第一个视图控制器是一个加载图标,同时发生同步请求。
我希望将来能够制作异步请求,因为当这些请求发生时,我的UI会被阻止。
我的PHP背景导致我设置了这样的文件,所以如果这不正确,请告诉我。
-(NSDictionary *)APIcall:(NSString *)api postData:(NSDictionary *)postData
选择行时,它会在UI中向前移动并检索该项的详细信息(另一个API调用)。
向前推进时,主线程被阻止了。
因此我尝试设置异步方法
-(NSDictionary *)asyncAPIcall:(NSString *)api postData:(NSDictionary *)postData
APIConnect.m(缩写):
-(NSDictionary *)asyncAPIcall:(NSString *)api postData:(NSDictionary *)postData
{
[NSURLConnection sendAsynchronousRequest:request
queue:queue
completionHandler:
^(NSURLResponse *response, NSData *data, NSError *error){
if ([data length] > 0 && error == nil)
[self returnedData:data];
else
[self downloadError:error];
}];
}
-(void)returnedData:(NSData*)data
{
NSMutableDictionary *returnData = [[NSMutableDictionary alloc] init];
[returnData setDictionary:[NSJSONSerialization JSONObjectWithData:data
options:0
error:nil]];
NSLog(@"Returned Data %@", returnData);
[self setReturnURLData:returnData];
}
我真的不知道怎么问我的问题,所以也许你可以帮助我...但理论上我想:
[self.tableView reloadData];
任何有关Google内容的指导都会非常有用。