我已经定义了一个属性......
@property (nonatomic, strong) NSArray *eventTypes;
Run Code Online (Sandbox Code Playgroud)
我想覆盖getter和setter ......
我写了这个......
- (void)setEventTypes:(NSArray *)eventTypes
{
_eventTypes = eventTypes;
//do some stuff here.
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但当我然后添加这个...
- (NSArray*)eventTypes
{
//do some stuff here.
return _eventTypes;
}
Run Code Online (Sandbox Code Playgroud)
然后这两个函数都显示错误,并且不知道_eventTypes是什么.
这两种方式都是一样的.它适用于一个功能,但只要我添加另一个功能,它就会失败.
还有什么我需要做的吗?似乎很奇怪,它可以与任何一个机器人一起工
All*_*ian 20
虽然LLVM会自动合成支持ivar(默认情况下以下划线为前缀),但如果同时实现getter和setter方法,则无法获得自动合成的ivar,这就是您必须@synthesize eventTypes = _eventTypes;手动操作的原因.
你可以在这里阅读更多内容:http://useyourloaf.com/blog/2012/08/01/property-synthesis-with-xcode-4-dot-4.html
| 归档时间: |
|
| 查看次数: |
3040 次 |
| 最近记录: |