Я пытаюсь получить доступ к объекту в файле реализации, где метод выглядит следующим образом: - (Boolean)humanIsAlive:(id)humanobj;
Однако Xcode жалуется, что такой объект не существует и сборка завершается с ошибкой.Объект objc pointing
В главном файле, 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
Если вам нужен один метод для обработки двух разных типов объектов (которые никогда не должны возникать конструктивно), тогда объявите его, чтобы он взял объект типа 'id', а затем проверил его класс с' -isKindOfClass: 'и бросать надлежащим образом. – CodaFi
Спасибо, сработало. :) – NONE