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

时间:2012-06-13 15:48:32

标签: iphone objective-c ios core-data ios5

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

使用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

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

enter image description here

1 个答案:

答案 0 :(得分:5)

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

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

NSMutableArray stored with core data = WORKS, but after changing array DOESN'T WORK

BUT!

您可以归档阵列,以便可以在托管对象中使用它。请参阅jbrennan的回复: Saving an NSMutableArray to Core Data