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