【发布时间】:2009-07-16 23:28:15
【问题描述】:
我正在尝试在 Objective-C 中建模 n 对 n 关系。假设我有两个实体:电影和剧院。电影有一系列剧院,而剧院有一系列电影。我如何在 Objective-C 中做到这一点,以 1) 使关系正确并 2) 确保正确管理内存。
【问题讨论】:
标签: objective-c core-data persistence modeling
我正在尝试在 Objective-C 中建模 n 对 n 关系。假设我有两个实体:电影和剧院。电影有一系列剧院,而剧院有一系列电影。我如何在 Objective-C 中做到这一点,以 1) 使关系正确并 2) 确保正确管理内存。
【问题讨论】:
标签: objective-c core-data persistence modeling
在 Apple 平台上,您可以访问 Core Data,这是一个非常好的持久性框架。
【讨论】:
你可以使用SQLLitePersistentObjects:
它允许您定义如下代码:
#import "SQLLitePersistentObjects.h"
@interface CFCategory : SQLLitePersistentObject {
NSString *name;
CFRegion *region; // where region is another subclass of SQLLitePersistentObject
}
@property(nonatomic, retain, readwrite) NSString *name;
@property(nonatomic, retain, readwrite) CFRegion *region;
@end
并在您的代码中使用它:
CFRegion *region = [CFCategory findByRegion:[myRegionObject pk]];
内存和持久性由框架自动处理。但是,如果您正在处理大型数据集,请务必使用具有配对数组功能的 NSArray 对象,而不是分配和释放数百或数千个 SQLLitePersistentObject。
【讨论】: