gpt4 book ai didi

ios - 通话中的额外错误? Core Data 应用程序的 Swift 2 问题

转载 作者:行者123 更新时间:2023-11-29 01:05:54 24 4
gpt4 key购买 nike

我正在尝试转换这段代码

var request = NSFetchRequest(entityName: "ItemModel")
var error: NSError?

var results : NSArray = managedObjectContext!.executeFetchRequest(request, error: &error)!

for res in results
{
println(res)
}
self.dismissViewControllerAnimated(true, completion: nil)

}

但我的 SWIFT2 申请并不顺利。这是我对其进行转换的尝试。

do {

let results = try self.context!.executeFetchRequest(fetchRequest) as! [ItemModel]

} catch {
fatalError("getItem error: /(fetchError.localizedDescription)")
}

}

我正在尝试使用它从名为 Item Model 的核心数据中获取数据,但是我非常挣扎。有谁知道我做错了什么?我的新代码没有出现任何错误,但它没有运行。

提前致谢

最佳答案

试试这个:

func fetchItems() -> [NSManagedObject]? {

let managedContext = // your context here

let fetchRequest = NSFetchRequest(entityName: "ItemModel")

do {
let results = try managedContext.executeFetchRequest(fetchRequest)
return results as? [NSManagedObject]
} catch let error as NSError {
print("Could not fetch \(error), \(error.userInfo)")
}
return nil
}

然后根据函数的结果组装您的 ItemObject 数组。您的对象未作为 ItemObject 存储在数据库中,它们被转换为 NSManagedObject,您必须在从数据库中获取它们后重新转换它们。

例如,假设您的 ItemObject 类如下所示:

class ItemObject {

var name : String
var someData : NSData
}

您可以像这样重新创建这些项目:

func convertObjects(objects: [NSManagedObject]) -> [ItemObject] {

var itemObjects = [ItemObject]()

for object in objects {

let itemObject = ItemObject()

itemObject.name = object.valueForKey("NAME_KEY") as? String ?? "DEFAULT_VALUE"
itemObject.someData = object.valueForKey("DATA_KEY") as? NSData ?? NSData()

itemObjects.append(itemObject)
}
return itemObjects
}

关于ios - 通话中的额外错误? Core Data 应用程序的 Swift 2 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36364438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com