Swift Realm检索数据

时间:2017-02-23 10:38:02

标签: swift realm

我遇到了从我创建的Realm数据库中检索数据的问题。我创建了一个名为ProgramAnswerRealm的对象,如下所示:

import Foundation
import RealmSwift

public class ProgramAnswerRealm: Object {
    var answerChosen: String = ""
    var imagePath: String = ""
    dynamic var category: Category!


}

我正在写这篇文章,当我向变量声明结果时,我可以看到即时窗口中的值。

po dataSource.last
▿ Optional<ProgramAnswerRealm>
  ▿ some : ProgramAnswerRealm {
    answerChosen = bird;
    imagePath = ;
    category = (null);
}

问题是当我尝试使用以下代码将变量分配给我的answerChosen值时:

dataSource.last!.answerChosen

我无法获得返回的值。有什么我做错了吗?

2 个答案:

答案 0 :(得分:1)

我想出了答案。

事实证明我需要将变量声明为Object的动态。

答案 1 :(得分:1)

宣布成员时,您只需要输入动态

使用动态修饰符标记成员声明时,使用 Objective-C运行时始终动态调度对该成员的访问权限。编译器对该成员的访问权限从未内联或未虚拟化

 public class ProgramAnswerRealm: Object {
    dynamic var answerChosen: String = ""
    dynamic var imagePath: String = ""
    dynamic var category: Category!
}

不要忘记,如果您要在班级中添加列表 请勿使用动态标识符标记成员声明。

https://realm.io/docs/swift/latest/#models