如何从领域列表中获取要在 UITableview 中使用的值
Posted
技术标签:
【中文标题】如何从领域列表中获取要在 UITableview 中使用的值【英文标题】:How to get the values from Realm List to be used in a UITableview 【发布时间】:2016-10-20 20:03:57 【问题描述】:使用 Realm Swift 文档中的(修改过的)示例:
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
dynamic var name = ""
假设 Person.name = Bob,并且 Bob 在他的狗列表中添加了几只狗。我添加了另一个名为 Puppies 的模型类,它代表属于 Bob 的狗的小狗。 (显然 Bob 拥有一个狗窝。)
如何获取值以在 UITableview 中显示 Bob 的狗的名称和属于每只狗的小狗数量?
更具体地说,提取属于 Bob 的狗列表的属性值的代码是什么。我假设一旦我得到这些值,在表格视图单元格中列出它们就不难了。
我决定使用文档中稍作修改的示例而不是我自己的代码,这样阅读本文的人就不必尝试解释我的代码,而能够专注于解决方案。
我已经能够保存我的数据并相信我已经正确链接了对象之间的关系,但不知道如何根据我在顶层的主键获取 List 对象的值模型。我遇到的问题是(使用上面的示例):小狗知道它们属于哪只狗,而狗知道它属于谁,但反向关系似乎不起作用。
(顺便说一句;我在游乐场的文档中使用了 LinkingObject 示例,它会抛出错误。我不确定这些示例是否在某些方面不完整。)
在领域浏览器(显示 Person 对象)中,我可以看到输入的数据,但是显示 [Dog] 的链接旁边有一个 0,当我单击链接时,显示的表格是空白的。也许解决这些问题将是使其他一切正常工作的答案。
请原谅我的无知。我还在学习。
【问题讨论】:
我推荐观看this series,它对你作为初学者会有极大的帮助。它回答了你的问题。 请发布您使用的模型,而不是您下面示例中的模型。您的问题与发布的代码不匹配(您说您正在使用 LinkingObject 但代码没有显示)。 祝福你艾哈迈德 F!我一直在寻找 YouTube 上的视频教程,但无济于事。你是对的,它确实回答了我的问题。 @Clever 错误,似乎链接对象与问题无关,我只需要学习如何附加到每个对象中的列表。还是谢谢。 【参考方案1】:感谢 Ahmad F. 为我指明了正确的方向。
答案如下:
我不知道如何在每个对象类中附加到列表属性。按照上面的示例,它是通过创建一个包含 Person 对象的变量来完成的。然后 realm.write 函数看起来像这样。
newDog = Dog()
newDog.name = "Phydeaux"
.....
try! realm.write
currentPerson?.dogs.append(newDog)
【讨论】:
以上是关于如何从领域列表中获取要在 UITableview 中使用的值的主要内容,如果未能解决你的问题,请参考以下文章
如何将 fetchRequest 更改为要在 UITableView 中使用的数组
如何从 UItableView 中获取 textField 的值? [关闭]