如果我有一个使用Observable
如下宏的存储库类:
@Observable class TaskRepository {
var number: Int = 0
var isCompleted: Bool = false
}
我想要访问我的视图模型中的存储库:这里也使用,@Observable
因为我希望 SwiftUI 在更新某些内容时重新绘制视图……
// with @State
@Observable class CardViewModel{
@State private var taskRepository = TaskRepository()
var title: String = "Name"
// view model do some processing...
}
我应该用它@State
来初始化存储库吗?因为我也可以这样做:
// without @State
@Observable class CardViewModel{
private var taskRepository = TaskRepository()
var title: String = "Name"
// view model do some processing...
}
有人能帮助我了解我什么时候应该考虑@State
吗?我的理解是,通过使用@State
它,我可以将 TaskRepository 注入到环境中,这很适合在视图之间共享数据。