ios - If 语句 SwiftUI
问题描述
我在我的 SwiftUI 视图 VStack 中有一个 if 语句来切换一个整数,该整数会阻止 SQLite 数据库被多次创建,但是我遇到了很多错误,阻止了代码的构建。变量(appInfo.toggleswitch 是一个在类中默认设置为 0 的整数,我在此视图中使用环境对象订阅它)
if appInfo.toggleswitch == 0 {
let db = DBHelper()
$appInfo.toggleswitch = 1 }
解决方案
您不能在视图中编写这样的代码。SwiftUI 只渲染 UI。我会做这样的事情:
Toggle(isOn: $appInfo.toggleswitch.onChange(myFunction)) {
YourView()
}
func myFunction() {
let db = DBHelper()
appInfo.toggleswitch = 1
}
推荐阅读
- c# - C#,动态 linq 错误“字符串”类型中不存在适用的方法“包含”
- android - 如何在android中从mp3中获取艺术家图片
- java - 如何安装 JBoss 以匹配类路径文件中的条目
- ios - 在 UIView 中翻转 CoreGraphics 倒置弧线的麻烦
- java - PowerMock - 转换类失败
- binding - 如何设置绑定到未在 XAML 代码中实例化的元素
- pandas - 熊猫,按重采样分组并用零填充缺失值
- jquery - 浮动框输入不足
- php - 带密码的自定义帖子类型不起作用
- vim - 需要从 vim 中获取 .vimrc 以达到想要的效果(斜体注释)