我有一个包含大量init...
方法的类(UITableViewCell)。我的扩展有一个额外的属性,在设置时,将调整各种单元格属性,如颜色。我有两个选项可以处理对房产的更改。
项目#1似乎是最简单的应用,但意味着我必须根据Apples指南手动输入setter代码(保留参与)。
项目#2最初听起来不错,因为我不必添加setter锅炉位置,但会花费更多代码,因为我必须覆盖所有的内容。
还有其他选择吗?
答案 0 :(得分:2)
您只需覆盖designated initializer(s)即可。通常,大多数类只有一个指定的初始值设定项,符合<NSCoding>
的类有两个(第二个是-initWithCoder:
)。
不要忘记,如果您在init中设置KVO,则必须记住在-dealloc
中取消注册。当对象离开时,对象不会自动取消注册KVO,如果你忘记了,那么将来在同一地址分配的任何对象都会继承被泄露的KVO观察者。