将协议参数分配给对象成员
assigning protocol parameter to object member
在我的头文件中,我定义了一个 class 成员:
id<IAdmobTestSuite>* testSuite;
稍后我想使用这个函数分配这个变量:
- (void) setTestSuite:(id<IAdmobTestSuite>)_testSuite {
if(testSuite == nil) {
testSuite = _testSuite;
}
}
但是这里 xcode 向我们展示了这个错误:"Assigning to 'id IAdmobTestSuite *' from incompatible type 'id IAdmobTestSuite '; take the address with &"
不太明白这个错误,我怎样才能正确分配这个成员?
id
是一个指针,要修复错误,您应该删除 header
中的 *
id<IAdmobTestSuite> testSuite;
在我的头文件中,我定义了一个 class 成员:
id<IAdmobTestSuite>* testSuite;
稍后我想使用这个函数分配这个变量:
- (void) setTestSuite:(id<IAdmobTestSuite>)_testSuite {
if(testSuite == nil) {
testSuite = _testSuite;
}
}
但是这里 xcode 向我们展示了这个错误:"Assigning to 'id IAdmobTestSuite *' from incompatible type 'id IAdmobTestSuite '; take the address with &"
不太明白这个错误,我怎样才能正确分配这个成员?
id
是一个指针,要修复错误,您应该删除 header
*
id<IAdmobTestSuite> testSuite;