在我看来,状态类似于“移动部件”。活动部件越多,出错的机会就越多。我对国家持敌对态度。按照优先顺序,我希望状态为:
- 不存在
- 私有只读
- 私有和公共只读
- 私有读/写和公共只读
- 公共读/写
状态存储在 ivar 中(无论是显式声明还是通过 @synthsize 隐式声明)。为了允许公众访问状态,我们提供了访问器方法。在代码中表达上述意图:
- 不要写任何代码
- 使用 ivar 并依靠代码注释来防止(不是最佳的!)
- 与 2 加一个公共吸气剂相同
- ivar 加上一个公共吸气剂
- 4加公共二传手
如何更好地解决案例 2?