Swift和Realm:&#39;()&#39;的使用无效调用非函数类型的值&#39;模块<realm>&#39;

时间:2016-09-01 15:13:46

标签: ios swift realm

我实际上是从Swift的官方Realm文档中复制和粘贴代码 - 它没有编译:

https://realm.io/docs/swift/latest/#adding-objects

enter image description here

enter image description here 我使用的是Realm 1.0.2

文档确实与自身相冲突 - 使用不同的领域声明:

let realm = RLMRealm.defaultRealm()
let realm = Realm()
let realm = try! Realm()

Realm发生了什么?

Realm和RLMRealm之间的区别是什么? 上面的第一行将编译正常 - 但接下来的两行不会。

2 个答案:

答案 0 :(得分:3)

  

我实际上是在复制并粘贴official Realm documentation for Swift中的代码 - 而且它没有编译:

屏幕截图中显示的代码段缺少调用Realm类型初始值设定项所需的括号。我已经浏览了您链接到的文档页面,从我可以看到Realm初始化程序的所有用法中都正确地显示了它们的内容。

  

文档确实与自身相冲突 - 使用不同的领域声明:

我不确定您指的是哪个文档。我在Realm Swift documentation中看到的唯一表单是let realm = try! Realm(),这是与Realm Swift一起使用的正确形式。

  

RealmRLMRealm之间的区别是什么?

Realm框架提供了一个Objective-C API,RLMRealm类代表Realm文件。 RealmSwift框架提供了Swift API,Realm类表示Realm文件。

  

上面的第一行编译正常 - 但接下来的两行不会。

这表明您正在使用Swift(import Realm)中的Realm Objective-C框架,而不是Realm Swift(import RealmSwift)。

答案 1 :(得分:1)

不要忘记:

import RealmSwift