【发布时间】:2013-06-15 19:16:14
【问题描述】:
我想覆盖在超类中声明的 NSString 属性。当我尝试使用默认 ivar(它使用与属性相同但带有下划线的名称)来执行此操作时,它不会被识别为变量名。它看起来像这样......
超类的接口(我没有在这个类中实现getter或setter):
//Animal.h
@interface Animal : NSObject
@property (strong, nonatomic) NSString *species;
@end
子类中的实现:
//Human.m
@implementation
- (NSString *)species
{
//This is what I want to work but it doesn't and I don't know why
if(!_species) _species = @"Homo sapiens";
return _species;
}
@end
【问题讨论】:
-
你有什么问题?
-
你使用的是什么 XCode 版本?
-
“它不起作用”是什么意思?
-
@H2CO3 _species 在我这样做时不被识别为变量名......我应该更清楚地生气:)
标签: ios objective-c