How to get the values from Realm List to be used in a UITableview
使用 Realm Swift 文档中的(修改过的)示例:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 |
class Dog: Object {
dynamic var name =”” dynamic var age = 0 let puppies = List<Puppies>() } class Person: Object { dynamic var name =”” dynamic var picture: NSData? = nil // optionals supported let dogs = List<Dog>() } class Puppies: Object { |
让我们假设 Person.name = Bob,并且 Bob 在他的狗列表中添加了几只狗。我添加了另一个名为 Puppies 的模型类,它代表属于 Bob 的狗的小狗。 (显然鲍勃拥有一个狗窝。)
如何获取值以在 UITableview 中显示 Bob 的狗的名称和属于每条狗的小狗数量?
更具体地说,提取属于 Bob 的狗列表的属性值的代码是什么。我假设一旦我得到这些值,在表格视图单元格中列出它们就不难了。
我决定使用文档中稍作修改的示例而不是我自己的代码,这样阅读本文的人就不必尝试解释我的代码,而能够专注于解决方案。
我已经能够保存我的数据并相信我已经正确链接了对象之间的关系,但不知道如何根据我顶部的主键获取 List 对象的值水平模型。我遇到的问题是(使用上面的示例):小狗知道它们属于哪只狗,而狗知道它属于谁,但反向关系似乎不起作用。
(顺便说一句;我在游乐场的文档中使用了 LinkingObject 示例,它会抛出错误。我不确定这些示例是否在某些方面不完整。)
在领域浏览器(显示 Person 对象)中,我可以看到输入的数据,但是显示 [Dog] 的链接旁边有一个 0,当我单击链接时,显示的表格是空白的。也许解决这些问题将是使其他一切正常工作的答案。
请原谅我的无知。我还在学习。
- 推荐看这个系列,对初学者很有帮助。它回答了你的问题。
- 请发布您使用的模型,而不是您下面示例中的模型。您的问题与发布的代码不匹配(您说您正在使用 LinkingObject 但代码没有显示)。
- 祝福你艾哈迈德 F!!我一直在寻找 YouTube 上的视频教程,但无济于事。你是对的,它确实回答了我的问题。
- @Clever错误,似乎链接对象与问题无关,我只需要学习如何附加到每个对象中的列表。不管怎么说,还是要谢谢你。
感谢 Ahmad F. 为我指明了正确的方向。
答案如下:
我不知道如何在每个对象类中附加到列表属性。按照上面的示例,它是通过创建一个包含 Person 对象的变量来完成的。然后 realm.write 函数看起来像这样。
1
2 3 4 5 |
newDog = Dog()
newDog.name =”Phydeaux” ….. try! realm.write { currentPerson?.dogs.append(newDog) |
来源:https://www.codenong.com/40163550/