首页 > 解决方案 > If 语句 SwiftUI

问题描述

我在我的 SwiftUI 视图 VStack 中有一个 if 语句来切换一个整数,该整数会阻止 SQLite 数据库被多次创建,但是我遇到了很多错误,阻止了代码的构建。变量(appInfo.toggleswitch 是一个在类中默认设置为 0 的整数,我在此视图中使用环境对象订阅它)

        if appInfo.toggleswitch == 0 {
            let db = DBHelper()
            $appInfo.toggleswitch = 1 }

标签: iosswiftif-statementswiftui

解决方案


您不能在视图中编写这样的代码。SwiftUI 只渲染 UI。我会做这样的事情:

Toggle(isOn: $appInfo.toggleswitch.onChange(myFunction)) {
    YourView() 
} 

func myFunction() {
    let db = DBHelper()
    appInfo.toggleswitch = 1
}

推荐阅读