在我的项目中,我有这样的功能:
- (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
类包装和解包?