gpt4 book ai didi

swift - 如何将数据发送回之前的接口(interface) Controller ?

转载 作者:搜寻专家 更新时间:2023-11-01 05:31:25 29 4
gpt4 key购买 nike

我想通过按下第二个界面 Controller 中的蓝色按钮来更新第一个界面 Controller 中的按钮标题(灰色按钮)。

  • 我能够使用计数器来更新标签,但是我该如何将结果发送回第一个接口(interface) Controller

  • 是否应该在第二个interface controller中执行,然后通过push segue传回结果

  • 我将如何使用 pushControllerWithName("secondController",context: ... )

我应该这样做吗:

var counter = 1

@IBAction func addOne() {

greyButtonLabel.setTitle("\(counter++)")
pushControllerWithName("secondController", context : add)
}


// The second interface controller

override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)

if let addone = context as? counter {
greyButtonLabel.setTitle("\(counter++)")
}
}

enter image description here

最佳答案

当第一个界面 Controller 处于非事件状态时,您无法更改它中的 UI 元素。

这是一种可能的方法:

  • 将第一个接口(interface) Controller 的 self 发送到第二个接口(interface) Controller (使用 pushControllerWithName("secondController", context: ... ))。
  • 在第二个界面 Controller 处于事件状态时更新第一个界面 Controller 中的属性。
  • 您可以通过调用第二个界面 Controller 的 popController 方法以编程方式返回到第一个界面 Controller 。
  • 当第一个界面 Controller 被激活时,读出属性并相应地更新按钮(在方法 willActivate 中)。

关于swift - 如何将数据发送回之前的接口(interface) Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30178068/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com