gpt4 book ai didi

swift - 在 Swift 文件之间传递信息时遇到问题

转载 作者:行者123 更新时间:2023-11-28 16:17:54 24 4
gpt4 key购买 nike

我正在尝试使用委托(delegate)协议(protocol)和另一个初始化类文件将信息从一个 swift 文件传递​​到另一个 View Controller 。当我调用要传输的变量时,我的问题出现了,它显示为零。我希望能够在点击 saveButton 时将 ageDescription 从一个 swift 文件传递​​到另一个文件。我想知道我可以更改什么以便可以调用该变量。

第一个 View Controller

@IBAction func ageChanged(sender: UISegmentedControl) {
switch age.selectedSegmentIndex {
case 0:
print("Under 18")
var ageDescription = "under 18"
let data = Data(ageData: ageDescription)

case 1:
print("Over 18")
var ageDescription = "over 18"
let data = Data(ageData: ageDescription)
case 2:
print("Strictly over 21")
var ageDescription = "strictly over 21"
let data = Data(ageData: ageDescription)
default:
print("IDK")
}

}

其他 View Controller

@IBAction func saveButtonTapped(sender: UIBarButtonItem) {
func getData(data: Data) {
print(data.ageData)
}

最佳答案

在类中创建一个协议(protocol),在该类中您将像这样在 viewcontroller 之上获取数据

protocol ageDescriptionDelegte {

func sendageDescriptiongetData(data: Data)
}
class ViewController: UIViewController {
weak var delegate: PassDateDelegte?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}

@IBAction func saveButtonTapped(sender: AnyObject) {
self.delegate?.sendageDescriptiongetData(ageDescription)//pass your age description

}
}

在你想要访问符合协议(protocol)的数据的 View Controller 中

extension ViewController2: ageDescriptionDelegte {

func sendageDescriptiongetData(data: Data) {
print(data)// this will give you the age description
}
}

关于swift - 在 Swift 文件之间传递信息时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38885632/

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