Core data 踩坑记录

xcode8.2.1 版本上使用core data的正确初始化方式

  1. 新建.xcdatamodeld,Entity, 属性,关系等
  2. 点击Entity,修改最右面板属性,Module为空, CodegenManual/None, 不要用xcode自动生成NSManagedObject Subclass, 手动Command+N生成实体类(添加属性和关系等)。如果点击了自动生成,清除所有DerivedData, 重新build
  3. 集成MagicRecord,就可以愉快的使用core data了。

如果不这么做,可能遇到的问题有:

  • 采用xcode自动生成,发现重名类
  • Unable to load class named 'Person' for entity 'Person'. Class not found, using default NSManagedObject instead.等等

相关代码如下:

#import 

@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 *msgs;


@end

#import "Person.h"

@implementation Person

@dynamic name, phone, age, msgs;


@end

你可能感兴趣的:(Core data 踩坑记录)