gpt4 book ai didi

ios - Swift - IBACTION 如何执行 segue

转载 作者:行者123 更新时间:2023-11-28 13:10:49 25 4
gpt4 key购买 nike

我可以使用 DidSelectRowAtIndexPath 成功地将数据 (authorID) 传递给 View 。现在我尝试使用 Button IBACTION 执行相同的 segue,但我找不到执行它的方法。我找不到在 INACTION 中使用 NSIndexPath 的方法。

 override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("ArticleSegue", sender: indexPath)
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "ArticleSegue"{
let toView = segue.destinationViewController as! ArticleTableViewController
let indexPath = sender as! NSIndexPath
let authorid = articleList?[indexPath.row]["author_id"].int!
toView.authorid = authorid
}

@IBAction func favButtonDidTouch(sender: AnyObject) {
//???
}

最佳答案

您可以解决它的一种方法,因为您只需要单元格的行(这里是您的文章列表的 indexPath.row),就是给您的 favButtons 一个标签(如果您不使用 UIView-tags 做其他事情).

这意味着当您在 tableView:cellForRowAtIndexPath: 中配置您的单元格时,您只需说:

cell.favButton.tag = indexPath.row

然后在您的 IBAction 中,使用该标记创建一个 NSIndexPath 并调用 segue:

let indexPath = NSIndexPath(forRow: sender.tag, inSection: 0)
self.performSegueWithIdentifier("ManualSegue", sender: indexPath)

确保本例中的发送者是一个 UIView(这里是 UIButton)。

关于ios - Swift - IBACTION 如何执行 segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31379138/

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