我只是使用cocoapods将我的领域从0.91.1更新为0.93.2。
我现在在查询结果中得到空对象。所以我制作了一个简单的应用程序,只是为了从头开始测试,但我仍然得到相同的结果。
这是我的测试代码(基本上只有一个文本字段和两个按钮(添加和打印):
import UIKit
import RealmSwift
class Person: Object {
var name = "Empty Value"
}
class ViewController: UIViewController {
@IBOutlet weak var nameTextField: UITextField!
var realm = Realm()
override func viewDidLoad() {
super.viewDidLoad()
println(realm.path)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func addTapped(sender: UIButton) {
var person = Person()
person.name = nameTextField.text
realm.write {
self.realm.add(person)
println("Person added: \(person.name)")
}
}
@IBAction func printListTapped(sender: UIButton) {
println("\n\nPeople\n")
for person in realm.objects(Person) {
println("Person: \(person.name)")
}
}
}
数据将保存到数据库中,因为它们在Realm Browser中可以看到。 但是realm.objects(Person)返回的对象都是空的。
这是" printListTapped"的输出。添加2项后的功能:
人
Person: Empty Value<br/>
Person: Empty Value
我真的不确定我在这里失踪了什么。提前谢谢。
答案 0 :(得分:2)
这里的问题是您的name
属性是在没有dynamic
的情况下声明的,因此它对Realm完全不可见。如果您将其声明为dynamic var name = "Empty Value"
,它应该有效。