2017-02-23 53 views
0

我在从我创建的Realm数据库中检索数据时遇到问题。我已经创建了如下的对象名为ProgramAnswerRealm:Swift Realm检索数据

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

当您声明您的成员时,您只需要将动态

当标记与动态修改成员声明,​​访问该成员总是使用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