Swift UIAlertAction segue数据传递

问题描述 投票:0回答:1

我正在使用UIAlertAction询问用户是否要转到该用户配置文件。不确定我做错了什么,因为数据没有正确传递并返回nil。不确定如果我需要在UIAlertAction之外使用“prepareForSegue”...我想segue在使用当前设置的数据之前传递了吗?

let profileAction = UIAlertAction(title: "Go To Profile", style: UIAlertActionStyle.default, handler: { action in self.performSegue(withIdentifier: "followingfeed", sender: self)

        let dataPass = self.feeds[sender.tag].dataPass

        func prepare(for segue: UIStoryboardSegue, sender: Any?) {
            super.prepare(for: segue, sender: sender)
            if segue.identifier == "followingfeed" {

                    let user = dataPass
                    let controller = segue.destination as? ExploreBusinessProfileSwitchView
                    controller?.otherUser = user

            }
        }
    })
ios swift segue uialertaction
1个回答
1
投票

prepareForSegue应该是类的实例方法

let profileAction = UIAlertAction(title: "Go To Profile", style: UIAlertActionStyle.default, handler: { action in 
  self.performSegue(withIdentifier: "followingfeed", sender:self.feeds[sender.tag].dataPass)
})

//

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
   super.prepare(for: segue, sender: sender)
     if segue.identifier == "followingfeed" {
         let user = sender as! [String:Any]
         let controller = segue.destination as? ExploreBusinessProfileSwitchView
         controller?.otherUser = user 
     }
}
© www.soinside.com 2019 - 2024. All rights reserved.