如何在Objective-c中为iPhone创建关系对象

Pic*_*ght 1 iphone properties core-data objective-c

这是我的对象的接口:

@interface MyItem : NSObject {
 sqlite3 *database;
 NSInteger *primaryKey;
 NSInteger *accountKey;
 NSInteger *categoryKey;
 NSString *title;
 BOOL hydrated;
 BOOL dirty;
 NSData *data; // Why do I need this?
}
Run Code Online (Sandbox Code Playgroud)

主键将在Sqlite中自动生成,我在MyItem表中存储整数,帐户和类别的外键.

帐户和类别将有一个有意义的描述.我是否应该为描述添加属性?像这样:

NSString *accountDesc;
NSString *categoryDesc;
Run Code Online (Sandbox Code Playgroud)

因此,在我的Hydrate方法中,我可以加入类别和帐户.

这样做的最佳做法是什么?

我的目标是在App的初始启动时,我将显示一个带有标题和类别描述的Tableview.

Gro*_*hal 5

为什么不使用核心数据?然后,您将获得最佳实践 - 此外它还很快,并且可以带来许多其他好处.

核心数据将为您创建具有公开属性的对象 - 并处理关系 - 并且懒洋洋地加载对象以使内存管理变得更加容易.您的代码也变得更容易阅读.