快速保持数据更新
我正在制作一个用于添加和显示联系人的应用程序。保存联系人时,我想更新我的视图。
这是我的代码,以使所有用户在sqlite中:
public mutating func getUsers() -> [ContactEntity] {
var userModels: [ContactEntity] = []
users = users.order(id.desc)
do {
for user in try db.prepare(users) {
let userModel: ContactEntity = ContactEntity()
userModel.id = user[id]
userModel.name = user[name]
userModel.number = user[number]
userModel.placemeet = user[placemeet]
userModels.append(userModel)
}
} catch {
print(error.localizedDescription)
}
return userModels
}
这是我的视图模型:
private var dbManager: DBManager = DBManager()
@Published var user: [ContactEntity]
init(){
self.user = dbManager.getUsers()
}
此代码显示在视图中显示所有联系人:
List(viewModel.user){ user in
ListContactRow(userContact: user)
}
I'm making an app for adding and showing contacts. I'd like to update my view when I save a contact.
This is my code to get all users in sqlite:
public mutating func getUsers() -> [ContactEntity] {
var userModels: [ContactEntity] = []
users = users.order(id.desc)
do {
for user in try db.prepare(users) {
let userModel: ContactEntity = ContactEntity()
userModel.id = user[id]
userModel.name = user[name]
userModel.number = user[number]
userModel.placemeet = user[placemeet]
userModels.append(userModel)
}
} catch {
print(error.localizedDescription)
}
return userModels
}
this is my view model:
private var dbManager: DBManager = DBManager()
@Published var user: [ContactEntity]
init(){
self.user = dbManager.getUsers()
}
and this the code to show all contacts in the view:
List(viewModel.user){ user in
ListContactRow(userContact: user)
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须将视图模型标记为可观察的对象。
实例必须具有属性包装器@ObservableObject。
然后,视图应更新视图模型中@perled变量的每次更改。
You have to mark your viewModel as an ObservableObject.
And the instance has to have the property wrapper @ObservableObject.
Then the view should update on every change of an @Published variable in the viewModel.