我在我的 cocoa 应用程序中使用 KVO 验证。我有一个方法
- (BOOL)validateName:(id *)ioValue error:(NSError **)outError
我的控件现在可以验证其绑定(bind)。如何使用 id *
NOT id
要使用传入的值(指向字符串指针的指针),我称之为:
NSString * newName = (NSString *)*ioValue;
if ([newName length] < 4) {
否则我会遇到严重的执行崩溃...
通过类型转换传入不起作用:(id *)myStringVar
使用常规 ID 传递也不起作用:(id) myStringVar
最佳答案
NSError *error;
[self validateName:&myStringVar error:&error];
& 符号表示“地址”。在本例中,它是指针的地址,或者换句话说,是指向指针的指针(这就是id*
)。
关于objective-c - objective-c id *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2405365/