gpt4 book ai didi

swift - 使用操作表按钮传递值

转载 作者:行者123 更新时间:2023-11-28 12:38:33 24 4
gpt4 key购买 nike

我创建了一个带有按钮操作的 ActionSheet。我有打开操作表的按钮,ActionSheet 按钮打开新的 viewController。问题是打开操作表的按钮位于 tableview cell 内,我不知道如何使用此按钮传递值。

概念应该是这样的,但带有操作表按钮:

    actionSheet.addAction(UIAlertAction(title: "Edit it", style: UIAlertActionStyle.destructive, handler: { (ACTION :UIAlertAction!)in
//here I want to pass value to next viewController and open that VC.
//Valu should be something like postsArray[indexPath.row]
}))

最佳答案

在按钮操作上,您正在显示 ActionSheet 并且您希望该按钮在 prepareforSegue 方法上的索引,因此您需要存储 IndexPath在按钮的操作上点击按钮,然后显示 ActionSheet 声明一个 IndexPath 类型的实例,并在您的按钮操作中使用它。

var selectedIndexPath = IndexPath()

@IBAction func buttonTapped(_ sender: UIButton) {
let point = tableView.convert(CGPoint.zero, from: sender)
if let indexPath = tableView.indexPathForRow(at: point) {
self.selectedIndexPath = indexPath
//Add code for presenting ActionSheet
}
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "editPost" {
let dest = segue.destination as! EditPostViewController
dest.selectedPost = postsArray[self.selectedIndexPath.row]
}
}

关于swift - 使用操作表按钮传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40154153/

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