我遇到了从我创建的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
我无法获得返回的值。有什么我做错了吗?
答案 0 :(得分:1)
我想出了答案。
事实证明我需要将变量声明为Object的动态。
答案 1 :(得分:1)
宣布成员时,您只需要输入动态。
使用动态修饰符标记成员声明时,使用 Objective-C运行时始终动态调度对该成员的访问权限。编译器对该成员的访问权限从未内联或未虚拟化。
public class ProgramAnswerRealm: Object {
dynamic var answerChosen: String = ""
dynamic var imagePath: String = ""
dynamic var category: Category!
}
不要忘记,如果您要在班级中添加列表 请勿使用动态标识符标记成员声明。