【发布时间】:2021-08-10 06:25:04
【问题描述】:
我正在尝试使用 MVVM 方法来为我的 swiftui 应用程序工作,但我遇到了一个问题,即可选变量似乎没有被正确传递。
因此,您可以在主视图中单击“新建”或“编辑”,在编辑时我想将值传递过来,此屏幕的代码: 按钮:
Button {
selectedTag = tag
isShowingEdit.toggle()
} label: {
Image(systemName: "pencil")
.font(Font.system(size: 30, weight: .bold))
.foregroundColor(.gray)
}
导航链接:
NavigationLink(destination: TagsCreatingView(viewModel: TagCreateViewModel(tag: selectedTag)), isActive: $isShowingEdit) { EmptyView() }
TagCreateViewModel 初始化如下所示:
init(tag: TagMO?) {
if let tag = tag {
self.tag = tag
title = tag.title
selectedColor = Int(tag.color)
}
如果我在单击按钮时在 selectedTag 上进行打印,则它具有正确的值,但在 viewModel 上它将为零。此外,如果我单击编辑按钮两次,它按计划工作并且标签不是零(两次我的意思是单击编辑,在另一个屏幕上单击取消然后再次编辑..)
【问题讨论】:
标签: swiftui