使用ASIHTTPREQUEST库发送同步请求,显示iPhone中的活动指示器
我希望在从服务器发送和接收同步asihttprequest时显示活动指示器。由于同步请求,我使用了活动指示器asihttprequest发送,但它没有在iPhone中显示。
任何建议如何在同步数据传输期间显示活动指示器。
谢谢使用ASIHTTPREQUEST库发送同步请求,显示iPhone中的活动指示器
同步请求在主线程上调用您的活动指示器委托方法setProgress:
。
二/三您正在使用ASIHTTPRequest
主线程您正在阻塞UI,因此调用setProgress
:排队的请求完成后进行布控,但那时的进步已经是100%
为了解决这个兼用异步请求或使用
[self performSelectorInBackground:@selector(startSynchronous:) withObject:nil];
调用在后台线程同步请求编辑
记住吨Ø创建自己的自动释放池来处理你的startSynchronous里面的内存:方法
-(void)startSynchronous:(BOOL)animate{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *autoreleasedString = @"xxx";
NSLog(@"%@",autoreleasedString);
[pool drain];
}
谢谢您回复,使用您的代码行解决我的问题,但在控制台窗口中显示'*** __ NSAutoreleaseNoPool():类NSConcreteMutableData的对象0x6396660 autoreleased没有到位的地方 - 只是泄漏“。凸轮你解释我做错了什么? – 2011-12-30 17:33:33
当你调用一个函数在其他线程中执行,然后主线程,你需要照顾自己的自我释放对象。我将编辑代码以显示它。 – Cyprian 2011-12-30 17:42:08
请注意,ASIHTTPRequest没有积极开发了:http://allseeing-i.com/%5Brequest_release%5D – vikingosegundo 2011-12-30 16:35:30