0
我刚刚在Swift和Realm开始开发。我有一个看起来像这样的境界对象:Swift领域中的一对多关系
class PersonItem: Object
{
dynamic var Id = ""
dynamic var Name = ""
dynamic var LastName = ""
}
class PersonDetailsItem: Object
{
dynamic var Id = ""
dynamic var JobDescription = ""
var ImagesArray = List<ImageItem>()
}
另一个看起来像这样:
class ImageItem: Object
{
dynamic var base64String = ""
}
我有一个的tableView显示的人物项的列表。在didSelectItemAtIndexPath我调用一个方法来获取每个项目的细节。现在,当我从服务器接收数据时,我得到了一组base64编码的图像。我试图将它们保存在图像列表中,以便我可以在离线状态下检索它们,而且我似乎无法使其正常工作。这是我试过的其中一件事
try! realm.write{
for obj in self.imagesArray //the array with the images from server
{
let image = ImageItem()
image.base64String = obj as! String
personDetailsItem.ImagesArray.append(image)
}
let items = realm.objects(PersonDetailsItem)
if items.count > 0
{
for obj in items
{
if obj.valueForKey("Id") as? String == personItem.Id
{
realm.add(personDetailsItem, update: true)
return
}
}
realm.add(personDetailsItem)
}
else
{
realm.add(personDetailsItem)
}
}
结果:在所有的项目中都保存了我打开的第一个项目中的图像。我在这里错过了什么?任何帮助将非常感激。 谢谢