在进行维护项目时,我正在努力处理大量杂乱的代码。在当前的作业中,我发现以前的开发人员已经为类的每个 iVar 和 IBOutlet 定义了属性(和综合)。
根据我的理解,我习惯于仅正确声明那些我打算在该类之外使用的变量。大多数时候,我不需要为任何 IBOutlet 声明属性(当然也不需要合成)。
我可以就“何时需要(或必须)声明财产和合成”有任何答案或文件吗?
在进行维护项目时,我正在努力处理大量杂乱的代码。在当前的作业中,我发现以前的开发人员已经为类的每个 iVar 和 IBOutlet 定义了属性(和综合)。
根据我的理解,我习惯于仅正确声明那些我打算在该类之外使用的变量。大多数时候,我不需要为任何 IBOutlet 声明属性(当然也不需要合成)。
我可以就“何时需要(或必须)声明财产和合成”有任何答案或文件吗?
没有关于何时使用属性和何时使用 ivar 的规则。使用两者都有自己的优势-
使用 ivar-
使用属性-
您可以查看以下主题以获取更多洞察信息 - http://cocoawithlove.com/2010/03/dynamic-ivars-solving-fragile-base.html
在我看来,我总是更喜欢使用财产,因为它比 ivars 有很多好处。
我认为总的来说,很难说拥有一两个额外的财产就是那么糟糕。话虽如此,包含大量的属性和变量会使事情变得混乱,并使代码难以理解和维护。而且您实际上并不需要为您视图中的每个 frazmabob 设置一个 IBOutlet。因此,如果您想稍微减少脂肪,只需摆脱在运行时不需要操作的任何内容。这听起来很简单,因为它是 - 包含变量/属性的唯一原因是如果您预计在运行时使用它。
至于向外界呈现属性,你是对的,OO 编程的一个主要概念是在不需要呈现的时候隐藏它们。如果您是团队的一员并且您不希望其他人篡改您的数据,这一点非常重要。所以去做吧——清理代码,让你自己和其他人的生活更轻松。