ios - 如何将 TableView 中选定的行字符串传递到另一个 ViewController 页面? ( swift 2)

标签 ios storyboard swift2

我正在运行 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/

相关文章:

ios - 如何在操作后返回选项卡栏 View Controller 特定的 View 索引

ios - 在 Storyboard中创建屏幕是否会将代码写入导航器中的文件?

ios - 在 Swift 2.0 中子类化 PFUser

swift - 误用 guard 语句代替 nil 检查

iphone - 从 didReceiveRemoteNotification 打开 View

ios - 向 UINavigationController 添加按钮的问题

iphone - 在Cocos2d中,如何创建一个layer,我可以设置它的区域大小,并且只显示属于这个区域的children?

ios - Alamofire 的 Swift 完成处理程序似乎没有执行

interface - 无法打开 Main.Storyboard

Swift SpriteNode 初始角度