0

假设我有一个使用强属性定义的 customView。

@property (nonatomic, strong) UIView *customView;

分配和初始化 customView 的最佳实践是什么?

self.customView = [[UIView alloc] initWithFrame......

或者

_customView = [[UIView alloc] initWithFrame...

4

3 回答 3

2

方法 :: 默认情况下,当您合成 getter 和 setter 访问器方法时,假定属性和 ivar 具有相同的名称。

乍一看,这可能会使您在使用 getter/setter 方法以及何时直接访问 ivar 时感到困惑。

另一种方法是将 ivar 命名为与属性不同的名称。一种常见的方法是使用下划线作为 ivars 名称的前缀。

你可以参考这个链接:Understanding Your (Objective-C) Self

谢谢。

于 2013-03-20T07:25:54.733 回答
2

由你决定。如果您不想再考虑它,您可以走“始终使用 getter 和 setter”的路线。或者,如果您不想浪费消息调用和self.(像我一样)乱扔代码,您可以选择“使用实例变量,除非我需要使用 getter/setter”路线。

于 2013-03-20T07:27:12.940 回答
1

最好的方法是

self.customView = [[UIView alloc] initWithFrame......

因为 customView 的 getter 和 setter 只有在我们使用 self 的变量时才会被激活。否则,不需要声明该变量的属性。

于 2013-03-20T07:23:50.543 回答