嗨,我在下面的代码上遇到了麻烦。具体来说,if let语句将Cast from转换NSPeristentStoreResult
为不相关的类型[Item]始终会发出警告。我正在使用Swift 3.01。
看起来这应该很简单。我关注的书是使用Swift的早期版本编写的。感谢您的放纵。
func demo(){
let request = NSFetchRequest<Item>(entityName: "Item")
do {
if let items = try CDHelper.shared.context.execute(request) as? [Item] {
for item in items {
if let name = item.name {
print("Fetched Managed Object = '\(name)'")
}
}
}
} catch {
print("Error executing a fetch request: \(error)")
}
}
使用fetch()
代替execute()
:
if let items = try CDHelper.shared.context.fetch(request)
...
或perform
在您的上下文中使用:
CDHelper.shared.context.perform {
let fetchRequest: NSFetchRequest<Item> = Item.fetchRequest()
let items = try! fetchRequest.execute()
for item in items {
if let name = item.name {
print("Fetched Managed Object = '\(name)'")
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句