ios - Swift 3:无法调用非函数类型“Bundle”的值

标签 ios swift3

目前,我正在我的一个项目中,该项目位于swift2中,并且正在转换为swift3。出现以下错误:

无法调用非函数类型“捆绑”的值


let modelURL = Bundle.mainBundle().URLForResource("VerseApp", withExtension: "momd")!

以下是代码:
lazy var managedObjectModel: NSManagedObjectModel = {
  let modelURL = Bundle.mainBundle().URLForResource("VerseApp", withExtension: "momd")!
   print(modelURL)
   return NSManagedObjectModel(contentsOfURL: modelURL)!
}()

最佳答案

在Swift 3中,语法进行了位更改,它是main而不是mainBundle(),并且URLForResource更改为 url(forResource:withExtension:) ,而且NSManagedObjectModel的初始化也已从init?(contentsOf:)更改为 init?(contentsOfURL:)

lazy var managedObjectModel: NSManagedObjectModel = {
    let modelURL = Bundle.main.url(forResource: "VerseApp", withExtension: "momd")!
    print(modelURL)
    return NSManagedObjectModel(contentsOf: modelURL)!
}()

关于ios - Swift 3:无法调用非函数类型“Bundle”的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44040100/

相关文章:

ios - 是否可以更改 UIPreviewAction 颜色?

ios - 有没有更有效的方法来比较 C 中的字节数组

ios - 是否可以理解 swift 3 何时发出通知?

ios - 禁用长按

ios - 从 GCDWebServer 获取 Bonjour URL

swift - CryptLib 解密返回错误值

ios - 有没有办法让方法接受具有不同签名的 block ?

ios - 自动布局 - 拉伸(stretch) View 以填充其父 View

objective-c - 检查 NavigationItem.title 是否等于 @"part"

ios - JSValue 初始化( bool :in:) vs JSValueMakeBoolean()