任何人都知道。如何在用户与特定屏幕交互时进行服务调用。我的意思是我需要在用户与应用程序交互时调用其他数据。但它仍然看起来像设备挂起。请帮帮我。
答案 0 :(得分:-1)
对于Get请求,请使用此代码
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager GET:@"http://example.com/resources.json" parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
或
NSURL *URL = [NSURL URLWithString:@"http://example.com/resources/123.json"];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager GET:URL.absoluteString parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
答案 1 :(得分:-2)
由于您没有提及任何代码段,我假设您正在main
主题上执行所有操作,这就是您的应用挂起的原因。要具体说明main
线程和background
线程,我们会在其他线程的UI
线程和main
任务上执行所有background
相关任务。所以你可以为background
任务创建另一个线程,如下所示:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//Perform your background task here
});