【发布时间】:2015-02-23 10:52:21
【问题描述】:
我正在尝试将数组:var upKNOArray: [Int] = [] 保存到 CoreData 中的 Transformable。
它使用此代码成功保存:
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 它在控制台中显示
(lldb),在代码中它以绿色突出显示并显示Thread 1: EXC_BAD_INSTRUCTION (code=EXC_i386_INVOP, subcode=0x0)这并没有告诉我发生了什么。