在以下示例中,是否需要行NSObject *_propertyName;
?
·H
@interface ClassName
{
NSObject *_propertyName;
}
@property (nonatomic, retain) NSObject *propertyName;
@end
的.m
@implementation ClassName
@synthesize propertyName = _propertyName;
@end
我发现如果我排除NSObject *_propertyName;
但保留@synthesize propertyName = _propertyName;
一切正常。这是我正在谈论的一个例子:
·H
@interface ClassName
@property (nonatomic, retain) NSObject *propertyName;
@end
的.m
@implementation ClassName
@synthesize propertyName = _propertyName;
@end
我已经测试并看到该物业仍然有效。我几乎总是看到包含行NSObject *_propertyName;
的代码。这里有什么我想念的吗?
答案 0 :(得分:3)
你没有遗漏任何东西。从较新的运行时(较新的iOS模拟器,x86_64和ARM)开始,您不再需要手动声明ivar。在i386和PPC之前,您必须手动声明您的ivars。