全局状态变量-SwiftUI

时间:2019-06-08 06:07:09

标签: swiftui global-state

在SwiftUI中是否可以有一个全局状态变量?能够让我的所有视图都订阅相同的状态将是很好的。有什么理由不这样做吗?

当我尝试使用@State装饰器声明全局变量时,swift编译器崩溃了(测试版软件,对吗?)。

2 个答案:

答案 0 :(得分:0)

@State仅用于管理局部变量。您要寻找的包装器是@EnvironmentObject。您可以将其用于主题颜色,方向,已订阅或未订阅的用户等。

答案 1 :(得分:0)

var globalBool:Bool = false {     didSet {

var body: some View {

    VStack {

        Text("State: \(self.bool.description)") // This will never update
        Button("Toggle") { self.bool.toggle() }
    }

}

}

struct GlobalUser:查看{     @Binding var bool:布尔

import pandas as pd
import numpy as np

master = pd.read_csv("/home/sean/Desktop/master.csv", index_col=0)

windows = sorted(set(master['Position']))

g = master.groupby("Position")

master.query("Position == 24386700").shape

g = master.query("CNV == 2").groupby("Position")

p = g.Normalised_coverage.mean() / 2

}

... 静态var预览:某些视图{     GlobalUser(bool:Binding(getValue:{globalBool},setValue:{

globalBool = $ 0}))

}