【问题标题】:UITableView Segue To View Controller NOT WorkingUITableView Segue 查看控制器不工作
【发布时间】:2016-06-26 03:25:34
【问题描述】:

在我的应用程序中,我有一个表格视图,其中列出了朋友的姓名,当您单击表格视图中的姓名时,它应该执行转入另一个存储此朋友信息的视图控制器的操作。虽然我可以点击这些行,但它并没有在朋友信息视图控制器中执行 segue。有想法该怎么解决这个吗?提前致谢! :)

@IBOutlet weak var tableView: UITableView!

var friends = ["A","B","C","D"]

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

self.tableView.dataSource = self
self.tableView.dataSource = self

}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.friends.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = UITableViewCell()
    let friend = self.friends[indexPath.row]
    cell.textLabel!.text = friend
    return cell

}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    self.performSegueWithIdentifier("detailSegue", sender: nil)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let listVC = segue.destinationViewController as! FriendDetailViewController
}

【问题讨论】:

  • 显示您的故事板并选择 segue。
  • 您可能需要检查您的 segue 是否具有正确的标识符,因为字符串标识符是区分大小写的,并且您的代码似乎没有任何问题。另外,检查 segue 是从 Main View Controller 到 Detail View Controller,而不是从原型单元到 Detail ViewController。
  • 我看到你有两次self.tableView.dataSource = self,但没有分配delegate。这意味着 tableView:didSelectRwoAtIndexPath 没有被调用。用self.tableView.delegate = self 替换其中一个self.tableView.dataSource = self,你应该很好。

标签: ios iphone swift uitableview segue


【解决方案1】:

您应该在 tableView 委托中分配给视图控制器

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after 

    loading the view, typically from a nib.

    self.tableView.dataSource = self
    self.tableView.delegate = self

}

当然还要加上这个:

class ViewController : ... , UITableViewDelegate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多