在iOS中如何在后台执行NSData
返回类型的方法。
我试过这个:
NSData *loginiddata=[self performSelectorInBackground:@selector(loaddatawithurl:param:) withObject:OBJ];
但它不起作用。
答案 0 :(得分:2)
您的案例中performSelectorInBackground
存在两个问题:
该方法没有返回值
(比较Ken Thomases上面的评论),它只适用于采用单一的方法
论点。最简单的解决方案(在我看来)是使用GCD(Grand Central Dispatch)
方法改为:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *loginiddata = [self loaddatawithurl:url params:params];
// ...
});