gpt4 book ai didi

swift - 准备使用数组进行 Segue - Xcode 8.0 Swift 3.0

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

将项目添加到一个 VC 上的数组然后使用“准备转场”将数组传输到另一个 VC 的最佳方法是什么?到目前为止,这是我设法想出的:(VC1)

var items: [String] = ["Hello"]

(VC2):

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

var destViewController: ViewController = segue.destination as! ViewController
destViewController.items = [textField.text!]
items.append(textField.text!)
}

在 VC2 上出现错误,指出“使用未解析的标识符”行

items.append(textField.text!)

最佳答案

我是 iOS/Swift 的新手,但我最近遇到了同样的情况。这是我的做法。

SourceViewController.swift

class SourceViewController: UIViewController {
let stringToPass = "Hello World"

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let destinationVC = segue.destination as! DestinationViewController
destinationVC.receivedString = stringToPass
}
}

DestinationViewController.swift

class DestinationViewController: UIViewController {

var receivedString: String?

if let newString = receivedString {
print(newString)
}
...

我意识到这与您的示例略有不同,但需要注意的重要一点是,当您创建“destinationVC”时,您可以修改它的属性。关键区别在于,在分配值或在您的情况下附加到数组时,您必须提供变量 (destinationVC.receivedString) 的范围:

destViewController.items.append(textField.text!)

如果不提供范围,Xcode 将无法找到您尝试修改的变量(标识符),因为它不是当前文件的一部分或导入的一部分。

关于swift - 准备使用数组进行 Segue - Xcode 8.0 Swift 3.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40093716/

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