【发布时间】:2015-10-12 00:00:15
【问题描述】:
我正在关注 AppCoda 的一本好书,它在 IOS8 上运行,但现在出现很多错误:
// Load menu items from database
if let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext {
let fetchRequest = NSFetchRequest(entityName: "MenuItem")
var e: NSError?
menuItems = managedObjectContext.executeFetchRequest(fetchRequest, error: &e) as! [MenuItem]
if e != nil {
println("Failed to retrieve record: \(e!.localizedDescription)")
}
}
转IOS9后:
// Load menu items from database
if let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext {
let fetchRequest = NSFetchRequest(entityName: "MenuItem")
let e: NSError?
menuItems = (try! managedObjectContext.executeFetchRequest(fetchRequest)) as! [MenuItem]
if e != nil {
print("Failed to retrieve record: \(e!.localizedDescription)")
}
}
所以我改回“let by var”,但仍然收到警告 = 变量 'e' 从未发生变异;考虑改变让常数。我在这个块中需要 var,我怎样才能摆脱这个警告? 任何帮助都非常受欢迎
【问题讨论】:
-
如果你从不改变它,为什么你需要它成为
var?