在我的项目中,我有这样的功能:
- (void)doSomething:(NSError**)error {
...
}
我需要使用函数performSelector:onThread:withObject:waitUntilDone:在另一个线程上调用此函数,如下所示:
[self performSelector:@selector(doSomething:) onThread:anotherThread withObject:??? waitUntilDone:NO];
但是函数参数的类型是NSError**. 我正在考虑重构函数的参数类型,-(void)doSomething:并将NSError**类型NSValue*作为NSValue*参数传递。
这意味着,我需要将&error(类型为NSError **)包装成 aNSValue并将其作为参数传递,然后再将其解包。如何NSError**用NSValue类包装和解包?