我有一个具有获取联系人功能的模型视图:
class ContactsStore: ObservableObject {
@Published var contacts = [CNContact]()
func fetch() {} ...
然后在我看来:
@EnvironmentObject var store: ContactsStore
var groupedContacts: [String: [CNContact]] {
.init (
grouping: store.contacts,
by: {$0.nameFirstLetter}
)
}
...
List() {
ForEach(self.groupedContacts.keys.sorted(), id: \.self) { key in ...
为方便起见,我缩短了代码,如果需要,将添加/编辑。我面临的问题 - 每次呈现我的视图时都会fetch
调用该函数,并且我的联系人数组在我的视图中重复。TIA 寻求帮助
fetch
UPD:由于List 中的方法调用而发生重复.onAppear
。所以我正在研究如何只调用一次这个方法,而不是每次出现 View 时。