3

我在我的应用程序中使用核心数据。

使用可转换属性存储 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

..................................................... .....................

类别.h 文件

#import <CoreData/CoreData.h>

@class qrandom;

@interface category :  NSManagedObject  
{
}
@property (nonatomic, retain) NSNumber * cid;
@property (nonatomic, retain) qrandom * randomrelation;

@end

..................................................... .....................................

类别.m 文件

#import "category.h"
#import "qrandom.h"

@implementation category

@dynamic cid;
@dynamic randomrelation;

@end

..................................................... .........................................

在此处输入图像描述

4

1 回答 1

5

基本上直接将 anNSArray或 an存储NSDictionary为可转换属性在 CoreData 中不起作用,因为它将无法检索数组的值。

请参阅 Marcus 的回答,该回答建议仅使用关系:

NSMutableArray 与核心数据一起存储 = WORKS,但在更改数组后不起作用

但!

您可以存档您的数组,以便它可以在您的托管对象中使用。在此处查看 jbrennan 的回复: 将 NSMutableArray 保存到核心数据

于 2012-06-13T16:11:46.547 回答