该操作无法完成.(可可错误1560.)

Abb*_*ani 3 iphone core-data objective-c ios ios5

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

我使用transformable属性存储NSArray时收到此错误.

总之,我想知道,我该怎么做才能将NSArray存储到核心数据中.

以及如何回顾它.

这是我的代码.

#import <CoreData/CoreData.h>

@class category;

@interface qrandom :  NSManagedObject  
{
}

@property (nonatomic, retain) NSArray* arr;
@property (nonatomic, retain) category * cid;

@end
Run Code Online (Sandbox Code Playgroud)

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

#import "qrandom.h"

#import "category.h"

@implementation qrandom 

@dynamic arr;
@dynamic cid;

@end
Run Code Online (Sandbox Code Playgroud)

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

category.h文件

#import <CoreData/CoreData.h>

@class qrandom;

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

@end
Run Code Online (Sandbox Code Playgroud)

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

category.m文件

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

@implementation category

@dynamic cid;
@dynamic randomrelation;

@end
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

Pat*_*ick 5

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

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

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

但!

您可以归档阵列,以便可以在托管对象中使用它.请参阅jbrennan的回复: 将NSMutableArray保存到Core Data