【发布时间】:2014-08-31 15:57:51
【问题描述】:
在我的视图控制器的头文件中,我创建了一个属性:
@property(nonatomic) BOOL hasPhoto;
在我的实现文件中,我想覆盖它的设置器,因此:
-(void)setHasPhoto:(BOOL)hasPhoto{
_hasPhoto = hasPhoto;
if(hasPhoto){
//do something
}
}
但是,当我尝试编译时,Xcode 看不到支持变量,它应该命名为 _hasPhoto 并且无法编译。如果我手动合成:
@synthesize hasPhoto = _hasPhoto;
它有效。我做错了什么?
【问题讨论】:
-
你是否也重写了 getter 方法?那么这是stackoverflow.com/questions/13817562/…的副本。
-
@MartinR 不,我没有覆盖吸气剂。问题中的代码是所有(相关)代码。
-
这很奇怪。您的代码编译对我来说没有问题。你能展示一个 .h 和 .m 文件的(最小的)独立示例吗?
-
Xcode 的哪个版本?您使用的是 5.0 之前的版本吗?
-
出于好奇,如果在实现中添加
@synthesize hasPhoto=_hasPhoto;,编译是否正常?
标签: objective-c xcode