@private - 使用与否?

时间:2012-11-06 19:45:12

标签: objective-c cocoa-touch class-design encapsulation private-members

当您单独工作或与可以访问应用程序的所有属性的团队一起使用Xcode时,在Xcode中使用@private指令有什么意义?

是否有内存使用,性能等优点?或者这只是大型团队的一个东西,其中一部分不应该使用可能在未来改变的东西?

感谢

1 个答案:

答案 0 :(得分:4)

在类声明的@private中使用@interface可确保没有其他类可以访问ivars。这对于封装很重要。对于单个开发人员而言,这对于由数十名开发人员组成的团队来说同样重要。

封装确保您只需为类提供API,而无需了解其内部工作原理。在某些时候,您可能希望更改实施。这对任何已经使用该类的类都没有影响。 aPI不会改变,只会改变它。

请记住,只应在给定类的实现中访问ivars。没有其他班级可以访问这些ivars。否则,您的代码将变得非常脆弱且难以维护。

编辑:使用现代Objective-C,您甚至不应该在.h文件中有任何ivars。将它们移动到@implementation行,保证它们是私有的,没有人使用.h文件甚至知道你有什么ivars。