ios - 在 1 个 VC 中按下 UIButton,我需要它将按钮标题保存到不同 View Controller 中的标签,而不是直接相互连接

标签 ios swift uibutton xcode7 viewcontroller

在我的应用程序的初始设置中,我需要用户选择一种流派类型。我将其设置为用户可以从 UIButtons 列表中进行选择,这些按钮都是不同的流派类型。我需要将此类型选择保存到用户个人资料中。下一个 View Controller 的设置与genreVC相同,但要求乐器而不是流派。接下来的下一步是查看 Controller 3 的 usersVC 配置文件,它应该通过更新标签来保存在前两个 VC 上选择的两个按钮。我已经用数字标记了每个按钮,并尝试了所有按钮。

如何将不同 View Controller 上按下的按钮保存到用户配置文件中,并将用户配置文件上的标签更新为按下的按钮的名称?

我单独使用每个按钮,并将它们标记为如下所示:

    @IBAction func popGenreButton(sender: UIButton) {
    if(sender.tag == 6){
        print("Pop genre selected")
    }
}

@IBAction func altGenreButton(sender: UIButton) {
    if(sender.tag == 7){
        print("Alternative genre selected")
    }
}

@IBAction func electronicGenreButton(sender: UIButton) {
    if(sender.tag == 8){
        print("Electronic genre selected")
    }
}

我还尝试将每个按钮添加到genreSelection中,如下所示,但这不起作用,所以我坚持使用上面的各个按钮。

 @IBAction func genreSelectionButton(sender: UIButton) {

   print(sender.titleLabel!.text!)
genreResult.text = genreString + " genre has been saved to your profile"
    }

我还使用 myModalDelegate 和协议(protocol)创建了一个 Nib ,但没有。

我想也许我可以创建一个流派数组,当选择某个按钮时,它会调用数组中的某个项目并将该项目更新到标签,但我也不确定如何进行此操作。

我使用 Xcode 7 和 Swift 2.0 以及 Parse 作为我的云服务器。

正如你所见,我在 Swift 方面还有很多东西需要学习。过去一周我一直在寻找如何做到这一点,但无法弄清楚。我“很多”超出了我的能力范围,但想弄清楚,如果有人可以提供帮助,那就太好了!

最佳答案

一个简单的解决方案是为这些值创建一个全局存储

struct Choices {
    static var genre: String?
    static var instruments: String?
}

然后你可以在不同的 View Controller 中简单地写入和读取它

Choices.instrument =  "trumpet"

label.text = Choices.genre

一个更好的解决方案是创建一个与之前的结构类似的类,但没有静态变量。然后,您可以传递它并填充每个 VC 中的值,并使用您要设置标签文本的最后一个 VC 中的值

关于ios - 在 1 个 VC 中按下 UIButton,我需要它将按钮标题保存到不同 View Controller 中的标签,而不是直接相互连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33263429/

相关文章:

iphone - 在 TableView / Collection View 中采用拖放功能在 iPhone 上不起作用

ios - UIButton 不改变图像

ios - UITableview 中的按钮修改当前单元格自定义

ios - 我的应用程序被拒绝了。我在哪里可以找到广告标识符或 AIdentifiermanager?

ios - 将流式 (utf8) 数据转换为字符串的安全方法是什么?

ios - 每当我在任何按钮(即 UISegmentedControl 按钮)外单击时,按钮也会被单击。谁能告诉我为什么会这样?

swift - 以编程方式移动到下一个 View Controller

iOS 如何在 Sprite Kit 中实现 UIButton 的节点行为?

ios - SwiftUI Xcode 12.3 无法更改工具栏中的按钮大小

swift - 如何解决此二叉树反序列化问题?