Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SwiftUI中的数据关联_Ios_Mobile_Swiftui - Fatal编程技术网

Ios SwiftUI中的数据关联

Ios SwiftUI中的数据关联,ios,mobile,swiftui,Ios,Mobile,Swiftui,我对SwiftUI编程相当陌生,如果这是一个愚蠢的问题,请提前表示歉意。我想用SwiftUI语言构建一个应用程序,让用户能够选择两个数据(即从数据采集器中),并返回它们的相关性 例如:如果我选择 第一个选择器的“黄色” 和第二个的“蓝色” -->我应该得到“绿色” 假设我知道所有可能的组合(以及不可能的组合),我的问题是:如何存储和检索数据?我应该使用哪种结构 非常感谢您的回复。在使用@Published var 下面是一些截取的代码,可能会对您有所帮助 struct ContentView:

我对SwiftUI编程相当陌生,如果这是一个愚蠢的问题,请提前表示歉意。我想用SwiftUI语言构建一个应用程序,让用户能够选择两个数据(即从数据采集器中),并返回它们的相关性

例如:如果我选择 第一个选择器的“黄色” 和第二个的“蓝色” -->我应该得到“绿色”

假设我知道所有可能的组合(以及不可能的组合),我的问题是:如何存储和检索数据?我应该使用哪种结构


非常感谢您的回复。

在使用
@Published var
下面是一些截取的代码,可能会对您有所帮助

struct ContentView: View {
var first_color = ["Red", "Green", "Blue"]
var second_color = ["Yellow", "White", "Green"]
@ObservedObject var color_value = Color_value()

var body: some View {
    VStack {

        Picker(selection: $color_value.first_value, label: Text("")) {
            ForEach(0 ..< first_color.count) {
                Text(self.first_color[$0])
            }
        }

        Text("You selected: \(first_color[$color_value.first_value.wrappedValue])")

        Picker(selection: $color_value.second_value, label: Text("")) {
            ForEach(0 ..< second_color.count) {
                Text(self.second_color[$0])
            }
        }
        Text("You selected: \(second_color[$color_value.second_value.wrappedValue])")

        Spacer()
        Button(action: {
            obj_saved_color.first_color = self.first_color[self.$color_value.first_value.wrappedValue]
            obj_saved_color.second_color = self.second_color[self.$color_value.second_value.wrappedValue]
            print(obj_saved_color.first_color)
            print(obj_saved_color.second_color)
        }, label: {
            Text("Save")
        })
    }
}

这里是您添加的已发布存储值的已保存颜色类和已观察到的值变化的颜色类

您可以使用选择器选择颜色,然后使用
@Published var
下面是一些截取的代码,可能会对您有所帮助

struct ContentView: View {
var first_color = ["Red", "Green", "Blue"]
var second_color = ["Yellow", "White", "Green"]
@ObservedObject var color_value = Color_value()

var body: some View {
    VStack {

        Picker(selection: $color_value.first_value, label: Text("")) {
            ForEach(0 ..< first_color.count) {
                Text(self.first_color[$0])
            }
        }

        Text("You selected: \(first_color[$color_value.first_value.wrappedValue])")

        Picker(selection: $color_value.second_value, label: Text("")) {
            ForEach(0 ..< second_color.count) {
                Text(self.second_color[$0])
            }
        }
        Text("You selected: \(second_color[$color_value.second_value.wrappedValue])")

        Spacer()
        Button(action: {
            obj_saved_color.first_color = self.first_color[self.$color_value.first_value.wrappedValue]
            obj_saved_color.second_color = self.second_color[self.$color_value.second_value.wrappedValue]
            print(obj_saved_color.first_color)
            print(obj_saved_color.second_color)
        }, label: {
            Text("Save")
        })
    }
}

这是您添加的已保存的\u color class@已发布的商店价值和颜色\u value class观察到的价值变化

您检查了我的答案了吗?您是否在寻找相同的答案?谢谢并为dalay道歉!你的回答非常有助于为前两种颜色的选择器建立初始结构。。。现在我只想知道如何得到第三种颜色作为他们的结果!再次感谢您检查我的答案,您也在寻找同样的答案吗?谢谢,对不起,dalay!你的回答非常有助于为前两种颜色的选择器建立初始结构。。。现在我只想知道如何得到第三种颜色作为他们的结果!再次感谢