小编Rus*_*uss的帖子

如何在 SwiftUI 视图中执行非视图代码

我一次又一次地为此苦苦挣扎,所以我想我错过了一些东西。我需要做数学、进行设置、分配值或任何一系列简单操作来响应某些用户操作,例如此处显示的示例,而 SwiftUI 需要一个视图,而我不需要视图。必须有一种方法可以绕过 ViewBuilder 的规则。我通过创建一个不必要的视图并在视图的 init() 内执行我需要的代码来解决这个问题,但这看起来非常尴尬。

import SwiftUI

struct ContentView: View
{
    @State var showStuff = false

    var body: some View
    {
        VStack
        {
            Toggle(isOn: $showStuff)
            {
                Text("Label")
            }
            if showStuff
            {
                UserDefaults.standard.set(true, forKey: "Something")
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

swiftui viewbuilder

11
推荐指数
2
解决办法
5750
查看次数

标签 统计

swiftui ×1

viewbuilder ×1