xcode8.2.1 版本上使用core data的正確初始化方式
- 新建.xcdatamodeld澎胡,Entity, 屬性槐臀,關(guān)系等
- 點(diǎn)擊Entity,修改最右面板屬性抒钱,
Module
為空瞬欧,Codegen
為Manual/None
, 不要用xcode自動生成NSManagedObject Subclass
, 手動Command+N
生成實(shí)體類(添加屬性和關(guān)系等)呢铆。如果點(diǎn)擊了自動生成晦鞋,清除所有DerivedData, 重新build - 集成MagicRecord,就可以愉快的使用core data了棺克。
如果不這么做悠垛,可能遇到的問題有:
- 采用xcode自動生成,發(fā)現(xiàn)重名類
- Unable to load class named 'Person' for entity 'Person'. Class not found, using default NSManagedObject instead.等等
相關(guān)代碼如下:
#import <CoreData/CoreData.h>
@class IMMessage;
@interface Person : NSManagedObject
@property (nonatomic, assign) int32_t age;
@property ( nonatomic, copy) NSString *name;
@property ( nonatomic, copy) NSString *phone;
@property(nonatomic, retain) NSSet<IMMessage *> *msgs;
@end
#import "Person.h"
@implementation Person
@dynamic name, phone, age, msgs;
@end