操作无法完成。 (可可错误 1560。)
Posted
技术标签:
【中文标题】操作无法完成。 (可可错误 1560。)【英文标题】:The operation couldn’t be completed. (Cocoa error 1560.) 【发布时间】:2012-06-13 15:48:32 【问题描述】:我在我的应用程序中使用核心数据。
使用可转换属性存储 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
.................................................. ..................................
【问题讨论】:
你能把错误信息的完整内容贴出来吗?您的问题确实没有足够的信息来提供有用的答案。什么对多关系不足以存储数组的元素? 【参考方案1】:基本上直接将NSArray
或NSDictionary
存储为可转换属性在CoreData 中不起作用,因为它将无法检索数组的值。
请参阅 Marcus 的回答,该回答建议仅使用关系:
NSMutableArray stored with core data = WORKS, but after changing array DOESN'T WORK
但是!
您可以归档您的数组,以便在您的托管对象中使用它。在此处查看 jbrennan 的回复: Saving an NSMutableArray to Core Data
【讨论】:
以上是关于操作无法完成。 (可可错误 1560。)的主要内容,如果未能解决你的问题,请参考以下文章
保存到数据存储失败:操作无法完成。 (可可错误 133020。)