我很难理解应该合成哪些对象。例如:
@interface DoSomething : UIView
@property (strong, nonatomic) UIColor *frameColor;
@property BOOL toggleScrollability;
- (void) changeBackgroundColorOfView;
@end
在.m
文件中,应该合成这三个项目中的哪一个?如果我尝试将它们全部合成,是否有任何不利之处?一般来说,你应该合成什么对象的经验法则是什么?
答案 0 :(得分:3)
前两个是属性;第三种是实例方法。 @synthesize
仅适用于媒体资源。
但是,如果您正在为iOS 6或更高版本构建,则根本不需要进行综合。编译器现在已经过去几年自动处理了这个问题。
答案 1 :(得分:0)
您只能合成属性,因此您将无法编写@synthesize changeBackgroundColorOfView
。
我认为,自从XCode 4开始,你就不必再使用@synthesize了。编译器会在需要时自动添加它,您可以通过在属性名称前添加_来访问它。
在您的示例中,如果您在DoSomething类中,则将访问frameColor属性_frameColor
,如果不在,则访问doSomethingInstance.frameColor
。
但是,如果您想要将属性重命名为内部内容,则可以自己添加。