Ios 更新核心数据模型后出错-无法识别的选择器发送到实例
在将名为Ios 更新核心数据模型后出错-无法识别的选择器发送到实例,ios,objective-c,swift,core-data,Ios,Objective C,Swift,Core Data,在将名为Unique Identifier的字符串属性添加到名为Labels的Enitiy/NSManagedObject后,出现以下错误。但是,编译器不满意的不是唯一标识符 2016-08-20 02:20:08.394安[22499:8730414]-[AN.Labels文件夹]: 已将无法识别的选择器发送到实例0x7ffe907e1a80 2016-08-20 02:20:08.405安[22499:8730414]***由于未捕获而终止应用程序 异常“NSInvalidArgumentE
Unique Identifier
的字符串属性添加到名为Labels
的Enitiy
/NSManagedObject
后,出现以下错误。但是,编译器不满意的不是唯一标识符
2016-08-20 02:20:08.394安[22499:8730414]-[AN.Labels文件夹]:
已将无法识别的选择器发送到实例0x7ffe907e1a80 2016-08-20
02:20:08.405安[22499:8730414]***由于未捕获而终止应用程序
异常“NSInvalidArgumentException”,原因:'-[AN.Labels文件夹]:
已将无法识别的选择器发送到实例0x7ffe907e1a80'
这是我的NSManagedObject课程
class Labels: NSManagedObject {
@NSManaged var title: String?
@NSManaged var details: String
@NSManaged var date: NSDate?
@NSManaged var uniqueIdentifier: NSString?
@NSManaged var arrayOfFolders: [Folders]
@NSManaged var folder: Folders?
@NSManaged var folders: NSSet
override func awakeFromFetch() {
super.awakeFromFetch()
self.regenerateFolders()
}
func regenerateFolders() {
let date = NSSortDescriptor(key: "date", ascending: false)
if let array = folders.sortedArrayUsingDescriptors([date]) as? [Folders] {
self.arrayOfFolders = array
}
}
}
我已确保应用程序使用新的coreData
模型,并在我的coreData
堆栈中包含以下内容。我已经有一段时间没有出现这个问题了,因为我的应用程序会自动更新以使用最新的核心数据模型
var storeDirectoryURL: NSURL {
return try! NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: true)
}
var storeURL: NSURL {
return self.storeDirectoryURL.URLByAppendingPathComponent("SingleViewCoreData.sqlite")
}
func setupCoreData() {
let modelURL = NSBundle.mainBundle().URLForResource("AN", withExtension: "momd")
let model = NSManagedObjectModel(contentsOfURL: modelURL!)
try! NSFileManager.defaultManager().createDirectoryAtURL(self.storeDirectoryURL, withIntermediateDirectories: true, attributes: nil)
let coordinator = NSPersistentStoreCoordinator(managedObjectModel: model!)
let options = [NSMigratePersistentStoresAutomaticallyOption: true, NSInferMappingModelAutomaticallyOption: true]
try! coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: self.storeURL, options: options)
managedObjectContext = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType)
managedObjectContext.persistentStoreCoordinator = coordinator
managedObjectContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
}
有人有什么建议吗?检查核心数据模型中标签和文件夹之间的关系。您可以将反向关系命名为标签以外的其他名称