领域 io returns 空对象(领域 0.93.2)
realm io returns empty objects (realm 0.93.2)
我刚刚使用 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 浏览器中看到的那样。
但是realm.objects(Person)返回的对象都是空的。
这是 "printListTapped" 函数添加 2 项后的输出:
人数
Person: Empty Value<br/>
Person: Empty Value
我真的不确定我在这里遗漏了什么。提前致谢。
这里的问题是你的 name
属性 是在没有 dynamic
的情况下声明的,所以它对 Realm 是完全不可见的。如果您将其声明为 dynamic var name = "Empty Value"
,它应该可以工作。
我刚刚使用 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 浏览器中看到的那样。 但是realm.objects(Person)返回的对象都是空的。
这是 "printListTapped" 函数添加 2 项后的输出:
人数
Person: Empty Value<br/>
Person: Empty Value
我真的不确定我在这里遗漏了什么。提前致谢。
这里的问题是你的 name
属性 是在没有 dynamic
的情况下声明的,所以它对 Realm 是完全不可见的。如果您将其声明为 dynamic var name = "Empty Value"
,它应该可以工作。