答案 0 :(得分:1)
虽然使用实例变量是一种解决方案,但也可以使函数保持纯净:
func deleteHandler(tags: String) { // not sure what the correct type is
...
}
请注意,您无需通过操作。要使用该函数,可以将其包装到一个闭包中:
let deleteAction = UIAlertAction(title: "Delete", style: .default) { _ in
self.deleteHandler(tags)
}
答案 1 :(得分:0)
您不能在方法之外使用局部变量。
您的tags
是didselect
方法中的局部变量
请在didselect
方法中声明将值分配为全局值,并在function
之外使用它
这可能对您有所帮助谢谢
答案 2 :(得分:0)
通过在函数外部包含此标签来全局声明标签:
var tags = String()
然后通过将其包含在didSelect函数中来分配值:
tags = posts2[indexPath.row].photoUrl
这是假设photoUrl是一个字符串。
答案 3 :(得分:0)
您可以在didSelectrow中使用Delete操作的完成处理程序。
let deleteaction = UIAlertAction(title: "Delete", style: .default, handler: { _ in
self.deleteHandler(tags: "https://")// Here pass your parameter
})
alertController.addAction(deleteaction)
func deleteHandler(tags: String) {
// delete handler code
}
答案 4 :(得分:0)
做这样的事情:
mob.position = $mobspawn/moblocation.global_position
然后像下面这样写选择器:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let tag = indexPath.row
let alert = UIAlertController.init(title: "Some Alert", message: "You sure you want to delete this?", preferredStyle: .actionSheet)
alert.addAction(UIAlertAction.init(title: "OK", style: .default, handler: { (success) in
self.deleteHandler(tag: tag)
}))
self.present(alert, animated: true, completion: nil)
}
答案 5 :(得分:-1)
您可以通过将要使用的值添加到UserDefaults中,然后将其重新调用到需要的下一个空间中,来导出要使用的值。只需记住要同步创建原始值的点,使其始终保持最新状态,否则您将发现自己有多余的行,没有数据或较旧的数据。
我想这是一个很庞大的方法,但这是一个解决方案。