我现在知道新的Objective-C编译器允许您不再需要合成属性。我有一个文件,其中有两个类。我的.h文件中包含一个简单辅助类,如下所示:
@interface ViewFrameModel : NSObject
@property (nonatomic, strong) UIView *view;
@property (nonatomic, assign) CGRect frame;
- (id)initWithView:(UIView *)view frame:(CGRect)frame;
@end
在同一个.h文件中,对于我的另一个类(class 2),我有:@property (nonatomic, strong) ViewFrameModel *viewFrameModel;
在2.m类中,我可以这样做:
- (void)setViewFrameModel:(ViewFrameModel *)viewFrameModel {
_viewFrameModel = viewFrameModel;
[self pushViewFrameModel:viewFrameModel];
}
这段代码没有任何编译器的投诉,但是当我添加了这行代码后:
- (ViewFrameModel *)viewFrameModel {
return _viewFrameModel;
}
我得到了两个警告,一个是在第一个方法setViewFrameModel
中:
"使用未声明的标识符_viewFrameModel,您是否意味着viewFrameModel"
另一个是在返回_viewFrameModel
时:
"使用未声明的标识符_viewFrameModel,您是否意味着viewFrameModel" "引用在封闭上下文中声明的局部变量viewFrameModel"
为什么在添加结尾标记时会出现这些错误?
- (ViewFrameModel *)viewFrameModel {
return _viewFrameModel;
}
要重写这个方法并添加一些自定义信息,但是它报错了 :-. 有什么想法吗?TIA。