Dau*_*aug 6 casting core-data ios swift swift3
嗨,我遇到以下代码的问题.具体来说,if let语句将Cast转换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)")
}
}
Run Code Online (Sandbox Code Playgroud)
sha*_*ght 15
使用fetch()而不是execute():
if let items = try CDHelper.shared.context.fetch(request)
...
Run Code Online (Sandbox Code Playgroud)
或者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)'")
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2247 次 |
| 最近记录: |