在ios中如何在后台执行带有NSData返回类型的方法

时间:2013-12-14 11:13:09

标签: ios objective-c performselector

在iOS中如何在后台执行NSData返回类型的方法。

我试过这个:

NSData *loginiddata=[self performSelectorInBackground:@selector(loaddatawithurl:param:) withObject:OBJ];

但它不起作用。

1 个答案:

答案 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];
    // ... 
});