好的,所以我正在阅读一些关于良好编程实践的文章,我遇到了一个声明,它说为你的类公开你的所有元素并不是一个好主意.. 也就是封装的概念。
现在在 Objective C 中,当我为我的类创建一个元素时,我执行以下操作,考虑一个 NSMutableArray
@property (nonatomic, retain) NSMutableArray* myArray;
为什么我这样做?
以便将 Retain 属性赋予 myArray 并因此赋予它更简单的内存管理周期。稍后,我将 viewDidLoad 中的 myArray 初始化为
self.myArray = [NSMutableArray arrayWithCapacity:0];
后来在Dealloc...
self.myArray = nil;
还会发生什么
通过给出这个属性并在 .m 文件中合成 myArray,我在不知不觉中为我的类的所有元素制作了 Public Getter 和 Setter。
此外,来自 Xib 文件的自动生成的 UI 元素确实应用了相同的声明。
继续为类的每个元素创建公共 Getter 和 setter 并不是一个好主意,对吧?
所以,绝对没有应用任何封装!如果我在这里错了,请纠正我并帮助我解决任何问题!
谢谢!