我在我的应用程序中使用核心数据。
使用transformable属性存储NSArray时出现此错误。
总之我想知道,我该怎么做才能将NSArray存储到核心数据中。
以及如何回顾它。
这是我的代码。
#import <CoreData/CoreData.h>
@class category;
@interface qrandom : NSManagedObject
{
}
@property (nonatomic, retain) NSArray* arr;
@property (nonatomic, retain) category * cid;
@end
............................................... ............................................
#import "qrandom.h"
#import "category.h"
@implementation qrandom
@dynamic arr;
@dynamic cid;
@end
............................................... ....................
category.h文件
#import <CoreData/CoreData.h>
@class qrandom;
@interface category : NSManagedObject
{
}
@property (nonatomic, retain) NSNumber * cid;
@property (nonatomic, retain) qrandom * randomrelation;
@end
............................................... .....................................
category.m文件
#import "category.h"
#import "qrandom.h"
@implementation category
@dynamic cid;
@dynamic randomrelation;
@end
............................................... .................................
答案 0 :(得分:5)
基本上直接存储NSArray
或NSDictionary
作为可转换属性在CoreData中不起作用,因为它无法检索数组的值。
请参阅Marcus的回答,其中建议仅使用关系:
NSMutableArray stored with core data = WORKS, but after changing array DOESN'T WORK
BUT!
您可以归档阵列,以便可以在托管对象中使用它。请参阅jbrennan的回复: Saving an NSMutableArray to Core Data