Swift UIAlertAction通过“ sender.tag”传递数据

时间:2018-08-22 01:43:03

标签: ios swift segue uialertaction

我有一个显示帖子的表格视图,并且正在使用“ sender.tag”从帖子中获取URL。我需要将此“ URL”传递给下一个视图控制器,以执行另一个firebase调用查询。问题是,在进行segue调用时如何访问“ sender.tag”。

我已经尝试过了...  返回nill

let editNowAction = UIAlertAction(title: "Edit Now", style: UIAlertActionStyle.default, handler: { action in self.performSegue(withIdentifier: "editPost", sender: self)

        let segueDownloadURL = self.posts[sender.tag].downloadURL

        func prepare(for segue: UIStoryboardSegue, sender: Any?) {
            if let controller = segue.destination as? BusinessEditPost {
                controller.seguePostURL = segueDownloadURL
            }
        }


        print("Edit Now is tapped")

    })

我也尝试过这种方法。进入“ UIButton”,因为发件人为“任何”时无法访问“ sender.tag”。

func prepare(for segue: UIStoryboardSegue, sender: UIButton) {
    super.prepare(for: segue, sender: sender)

    let segueDownloadURL = self.posts[sender.tag].downloadURL

    if segue.identifier == "editPost" {
        let controller = segue.destination as? BusinessEditPost
        controller?.seguePostURL = segueDownloadURL
    }
}

也尝试过...

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let controller = segue.destination as? BusinessEditPost {
        controller.seguePostURL = self.posts[sender.tag].downloadURL
    }
}

所有返回的零。...

0 个答案:

没有答案