我正在运行 Xcode 7.3 并使用 Swift 2.2。我无法将数据从第一个 View Controller 传递到第二个 View Controller 。我在第一个 View Controller 中创建了一个变量 string
,它保存 TableView 中选定的行并且它可以工作。我还在第二个 View Controller 中创建了另一个变量string
,它应该保存所选行的名称,然后将文本传递给标签。
import UIKit
import Parse
import ParseUI
class FruitListPage: UIViewController, UITableViewDelegate, UITableViewDataSource {
var selectedFruit = String()
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let fruitName:Scanner2 = self.storyboard?.instantiateViewControllerWithIdentifier("scanPage") as! Scanner2
fruitName.loadView()
let nameShop = textArray[indexPath.row]
print(nameShop)
selectedFruit = nameShop
print(selectedFruit)
fruitName.selectedFruit2 = selectedFruit
}
在第一个 View Controller 中,一切都工作得很好,每次我在表格 View 中按一行时,我都可以看到水果名称。真正的问题是第二个 View Controller 中的 selectedFruit2
字符串永远不会从第一个 View Controller 中获取数据。有什么线索吗?
import UIKit
import Parse
class Scanner2: UIViewController {
@IBOutlet var fruitNameLabel: UILabel!
var selectedFruit2 = String()
override func viewDidLoad() {
super.viewDidLoad()
print(selectedFruit2)
}
}
最佳答案
您可以尝试创建一个全局变量,并在重写 funcprepareForSegue
方法中,使用 tableView.indexPathForSelectedRow!.row
对其进行初始化。我就是这样做的,效果很好。
关于ios - 如何将 TableView 中选定的行字符串传递到另一个 ViewController 页面? ( swift 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36252995/