使用Categories来确定类是否具有变异对象的能力

时间:2014-04-11 20:24:26

标签: objective-c oop objective-c-category

所以我有一些对我的视图控制器不可变的数据对象,所以只有一个类可以操作它们。在我的例子中,有一个Singleton对象可以改变它们。我想到的是让基础数据对象是不可变的,并提供允许仅在Singleton类导入的类别中更改数据的方法。这是一个例子。


在视图控制器中:

#import "DataStore.h"
#import "DataObject.h"

然后在DataStore.m

#import "DataObject.h+Mutability"

其中有一些额外的方法可以改变对象


我最初的想法是,任何需要改变数据对象的类都可以通过导入可变性类别来实现,因此它提供了一定程度的封装。但现在我正在重新思考,因为这不是用NSArray,NSDictionary等完成的。子类提供了一种更绝对的封装形式。此外,理想情况下,只有一个类可以改变数据,并且可以作为其他视图控制器获取需要显示的数据的对象。对于这种一般情况,哪种方法被认为是“更好的做法”?为什么?

0 个答案:

没有答案