【发布时间】:2010-10-11 17:49:00
【问题描述】:
我在使用 coredata 时遇到了一些初期问题,但如果有人可以向我解释一些简单的案例,我觉得这对我来说会很清楚。
我想将我的模型放入 coredata,并在最简单的情况下利用撤消/重做。问题是,我看到的所有示例都倾向于存储字符串或整数。如果我有一个想要在核心数据中实现的类(一个虚构的例子)怎么办:
@interface Badge : NSObject {
NSString *textForBadge;
int badgeValue;
UIColor *color;
CGRect rect;
NSMutableArray *awards; // this would be a list of 'Category' - another custom class
}
这些都是当场编造出来的,但每一个都凸显了一个困惑
如我所见,我将打开 .xcdatamodel 并添加一个名为“Badge”的新实体,即NSManagedObject。然后我为textForBadge 添加一个String 类型的属性。到现在为止还挺好。我为 badgeValue 做了类似的事情,但后来来到 UIColor 和 CGRect,我有点难过,因为它们没有属性。我是否应该创建一个实体来表示每个整数(即具有四个属性x,y,w,h 的Rect 实体)?然后每次都用这些整数填充一个 CGRect ? UIColor 也一样?
最后,我来到了我的awards 列表。如果这些是指向代表奖项的多个对象的指针列表,它们可能包含图像、颜色、文本等。我假设award 将再次成为我必须设计的实体,而不是Badge 存储数组我会从它到 Award 类有一对多的关系。
我做对了这件事,还是朝着相反的方向前进?我看到的所有示例都对像 String 或 int 这样的普通对象进行操作,因此希望在实现一堆东西之前确保我脑子里有这个。
亲切的问候,
布林
【问题讨论】:
标签: iphone objective-c core-data ios4