0
我试图访问一个实现文件中的方法看起来像这样的对象: - (Boolean)humanIsAlive:(id)humanobj;
但是,Xcode抱怨没有这样的对象存在,并且构建失败。objc对象指向
在主文件,main.m
,我将在main()
功能写:
int main(int argc, const char * argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
Human *human = [[Human alloc] init];
MyHuman *myhuman = [[MyHuman alloc] init];
[human create:@"John Doe" age:25];
if ([human humanIsAlive:myhuman]) {
NSLog(@"%@ is alive and well.", myhuman.humanName);
} else {
NSLog(@"%@ is dead and gone.", myhuman.humanName);
}
[pool drain];
return 0;
}
下面是Xcode的抱怨代码:
- (Boolean)humanIsAlive:(id)humanobj {
if (humanobj.living == YES) {
return YES;
}
return NO;
}
似乎合法的和一切,但Xcode的抱怨在这个对象中不存在这样的属性并且不存在这样的对象。
帮助?
我想要做的是等待用户输入一个对象并从那里访问属性。 – NONE 2013-03-26 20:38:49
如果你需要一种方法来处理两种不同类型的对象(这绝不应该发生在设计上),然后声明它需要一个类型为“id”的对象,然后用'-isKindOfClass:'测试它的类并且适当施放。 – CodaFi 2013-03-26 20:40:30
感谢它的工作。 :) – NONE 2013-03-26 20:48:15