在我的应用程序的初始设置中,我需要用户选择一种流派类型。我将其设置为用户可以从 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/