下面的代码打印了在TableView中单击的任何单元格的内容。
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print(self.cell[indexPath.row])
}
我想使用打印在另一个ViewController上的标签中的结果。
如何从函数中获取字符串值,然后在另一个视图上使用它?我的想法是使用全局变量,但我需要首先获取字符串值。
最佳答案
例如,您可以将另一个ViewController(SecondScreen
)的单例与var main
一起使用的简单组织(以防万一,通常通过Storyboard初始化SecondScreen
时):
class SecondScreen : UIViewController {
// 1. add this var
static var main : SecondScreen? = nil
// 2. Your some UI element
@IBOutlet weak var textButton: UIButton!
// 3. add this method
func updateUI(string : String) {
textButton.setTitle(string, for: .normal)
}
// 4. setting a var
override func viewDidLoad() {
if SecondScreen.main == nil {
SecondScreen.main = self
}
}
// ... another your and standard methods
}
您可以像这样更新SecondScreen:
let v = SecondScreen.main
v?.updateUI(string: "yourString")
我也建议您调用异步方法:
DispatchQueue.main.async {
SecondScreen.main?.updateUI(withString : string)
}
我建议您进一步了解单身人士...