当您单独工作或与可以访问应用程序的所有属性的团队一起使用Xcode时,在Xcode中使用@private指令有什么意义?
是否有内存使用,性能等优点?或者这只是大型团队的一个东西,其中一部分不应该使用可能在未来改变的东西?
感谢
答案 0 :(得分:4)
在类声明的@private
中使用@interface
可确保没有其他类可以访问ivars。这对于封装很重要。对于单个开发人员而言,这对于由数十名开发人员组成的团队来说同样重要。
封装确保您只需为类提供API,而无需了解其内部工作原理。在某些时候,您可能希望更改实施。这对任何已经使用该类的类都没有影响。 aPI不会改变,只会改变它。
请记住,只应在给定类的实现中访问ivars。没有其他班级可以访问这些ivars。否则,您的代码将变得非常脆弱且难以维护。
编辑:使用现代Objective-C,您甚至不应该在.h文件中有任何ivars。将它们移动到@implementation行,保证它们是私有的,没有人使用.h文件甚至知道你有什么ivars。