假设我有一个定义了强大属性的自定义视图。
@property (nonatomic, strong) UIView *customView;
分配和初始化自定义视图的最佳做法是什么?
self.customView = [[UIView alloc] initWithFrame......
OR
_customView = [[UIView alloc] initWithFrame...
答案 0 :(得分:2)
方法::默认情况下,在合成getter和setter访问器方法时,假定属性和ivar具有相同的名称。
这可能会让您在使用getter / setter方法时以及何时直接访问ivar时会感到困惑。
替代方案是将ivar命名为与财产不同。一种常见的方法是使用下划线作为ivars名称的前缀。
您可以参考此链接:Understanding Your (Objective-C) Self
感谢。
答案 1 :(得分:2)
这取决于你。如果你想再也不去想它,你可以去“永远使用吸气剂和制定者”的路线。或者如果您不想浪费消息调用并且使用self.
(像我一样)乱丢您的代码,您可以使用“使用实例变量,除非我需要使用getter / setter”路由。
答案 2 :(得分:1)
最佳方法是
self.customView = [[UIView alloc] initWithFrame......
因为只有在我们使用self变量时才会激活customView的getter和setter。否则,不需要声明该变量的属性。