【发布时间】:2010-12-30 14:11:11
【问题描述】:
我正在与某事作斗争,但找不到任何令人满意的解决方案。
我有一个带有“myMutableArray”成员的类。
我希望该类自行管理在数组中添加和删除项目,因此我不希望任何其他类能够访问该成员并对其调用 NSMutableArray 方法。
在理想情况下,我希望有一个私有的 getter(能够调用 self.myMutableArray)和这个成员的公共 setter。
你知道我是怎么做到的吗?
换句话说:
我想要其他课程
可以打电话
- [oneInstance setMyMutableArray:thisArray]; // set
- oneInstance.myMutableArray = thisArray; // set using setter
- thisArray = oneInstance.myMutableArray; // get
- [oneInstance addItem:anItem]; // add
无法打电话:
- [oneInstance.myMutableArray add:etc...] // add
我想上课
可以打电话
- self.myMytableArray = [NSMutableArray array]; // set
- thisArray = self.myMytableArray ; // get
谢谢。
【问题讨论】:
-
请注意,你说的一项应该被允许,
[oneInstance setMyMutableArray:thisArray];,和你说的一项不应该被允许,oneInstance.myMutableArray = thisArray;是完全一样的。点表示法确实调用了设置器;当你写oneInstance.myMutableArray时,你并没有直接访问数组。
标签: objective-c private-members class-members