Я пытаюсь сохранить массив: var upKNOArray: [Int] = []
до Transformable
в CoreData. Он успешно сохраняет используя этот код:Проблемы с хранением NSArray в CoreData [Swift]
let appDel : AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let context : NSManagedObjectContext = appDel.managedObjectContext!
let entity = NSEntityDescription.entityForName("SavedData", inManagedObjectContext: context)
var newItem = data(entity: entity!, insertIntoManagedObjectContext: context)
var error : NSError?
newItem.upKNOs = upKNOArray
newItem.downKNOs = downKNOArray
if !context.save(&error) {
NSLog("Unresolved error \(error), \(error!.userInfo)")
}
Проблема заключается в том, когда приложение снова бежал и пытается принести CoreData на нагрузке с этим кодом:
func fetchCoreData(){
var error : NSError?
let appDel : AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let context : NSManagedObjectContext = appDel.managedObjectContext!
let fetchRequest = NSFetchRequest(entityName:"SavedData")
let fetchedResults = context.executeFetchRequest(fetchRequest, error: &error) as [data]?
if let resultsArray = fetchedResults {
if resultsArray.count > 0 {
let newItem = resultsArray[0] as data
clientID = newItem.userid
upKNOArray = newItem.upKNOs // THIS IS WHERE THE CRASH HAPPENS
downKNOArray = newItem.downKNOs as [Int]
NSLog("Saved data is \(newItem.userid)")
}
}
Я комментировал на строке, которая получает ошибку во время выполнения. Ошибка: Thread 1: EXC_BAD_INSTRUCTION (code=EXC_i386_INVOP, subcode=0x0)
Кто-нибудь знает, что я делаю неправильно? Является ли это сохраненными данными, из-за которых возникает эта проблема, или это то, как я получаю? Любая помощь приветствуется.
Сообщение журнала сбоев сообщает вам, что не так. Что это значит? – matt
@matt он говорит '(lldb)' в консоли и в коде выделяется зеленым цветом, и он говорит 'Thread 1: EXC_BAD_INSTRUCTION (code = EXC_i386_INVOP, subcode = 0x0)' Это ничего мне не говорит о том, что происходит. – uhfocuz