gpt4 book ai didi

swift - 在 Realm Swift 中查询一对多关系中的项目

转载 作者:行者123 更新时间:2023-11-28 15:44:38 26 4
gpt4 key购买 nike

如何根据以下代码查询列表中的所有项目?

我想要的是能够说,给我所有属于 List 1 等的项目。

购物 list 模型

import Foundation
import RealmSwift

class ShoppingList: Object{
dynamic var listName = ""
var itemList = List<Item>()
}

项目模型

import Foundation
import RealmSwift

class Item:Object {
dynamic var productName: String = ""
}

所有 ShoppingLists 的输出(realm.objects(ShoppingList.self))

Lists: Results<ShoppingList> (
[0] ShoppingList {
listName = List 1;
itemList = RLMArray <0x6180000feb80> (
[0] Item {
productName = Jitomates;
},
[1] Item {
productName = Grapes;
},
[2] Item {
productName = Oranges;
}
);
},
[1] ShoppingList {
listName = List 2;
itemList = RLMArray <0x6180000fec80> (
[0] Item {
productName = Tomatoes;
},
[1] Item {
productName = Grapes;
},
[2] Item {
productName = Oranges;
},
[3] Item {
productName = Green Peppers;
},
[4] Item {
productName = Apples;
}
);
}
)

编辑:

下面的查询与我正在寻找的很接近,除了它输出一个 Results 并且我只需要一个 List 和 List 2< 中的所有项目/p>

let itemsFromList2 = realm.objects(ShoppingList.self).filter("listName = 'List 2' ")

Items: Results<ShoppingList> (
[0] ShoppingList {
listName = List 2;
itemList = RLMArray <0x6000000e3500> (
[0] Item {
productName = Tomatoes;
},
[1] Item {
productName = Grapes;
},
[2] Item {
productName = Oranges;
},
[3] Item {
productName = Green Pappers;
},
[4] Item {
productName = Apples;
}
);
}
)

最佳答案

您从 Realm 获取Results,然后从Results 获取 Realm 对象。希望下面的代码对您有所帮助。

let itemsFromList2 = realm.objects(ShoppingList.self).filter("listName = 'List 2'")
// Results acts like an Array
let shoppingList2 = itemsFromList2.first!
// itemList is what you need I think
let itemList = shoppingList2.itemList

关于swift - 在 Realm Swift 中查询一对多关系中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43308080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com