gpt4 book ai didi

ios - 在 Swift 中从不同的 ViewController 获取数据

转载 作者:行者123 更新时间:2023-11-29 00:51:22 31 4
gpt4 key购买 nike

我有一个 PickerView,它有不同的办公室选择,我想在另一个 ViewController 中以 Strings 形式访问该办公室引用。我的 PickerViewController 类:

import UIKit
class PickerViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate {
@IBOutlet weak var officePicker: UIPickerView!

let offices = ["Choice 1","Choice 2","Choice 3"]
override func viewDidLoad() {
super.viewDidLoad()
officePicker.dataSource=self
officePicker.delegate=self
}

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return offices.count
}

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
let value = offices[row]
}
}

我有一个包含办公室信息的主屏幕。我想将之前使用 PickerView 选择的办公室信息从数据库添加到此屏幕,并比较办公室名称。

最佳答案

您可以将选定的选择器存储在变量字符串中。先声明一下。

var selectedOffice: String?

在您的 pickerView 委托(delegate)中,只需分配该变量即可。

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
let value=offices[row]
selectedOffice = value
}
}

当您准备好转到下一个 View Controller 时,最简单的方法是使用该 View Controller 传递数据。在此之前,只需在您想要的 View Controller 中创建另一个变量即可。

var selectedOffice: String?

在你当前的 View Controller 中,当你想转到下一个 Controller 时,如下所示分配变量。

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = self.storyboard!.instantiateViewControllerWithIdentifier("frontView") as! FrontViewController
vc.selectedOffice = selectedOffice
self.navigationController?.pushViewController(vc, animated: true)

关于ios - 在 Swift 中从不同的 ViewController 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38115853/

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