我现在知道新的 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 文件中,对于我的其他类(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。