我正在尝试将用户信息转移到另一个segue但是当我在表格视图中选择用户时,它会显示另一个用户的信息,而不是它所假设的信息。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "ShowUser" {
if let indexPath = followUsersTableView.indexPathForSelectedRow {
let user = usersArray[indexPath.row]
let controller = segue.destination as? OtherUserProfile
controller?.otherUser = user
controller?.loggedInUser = loggedInUser
}
}
}
答案 0 :(得分:1)
也许您应该在didSelectRowAt委托方法中发送您的用户。如果未实现,请添加方法:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let user = usersArray[indexPath.row]
self.performSegue(withIdentifier: "ShowUser", sender: user)
}
然后在准备segue add:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "ShowUser" {
let controller = segue.destination as? OtherUserProfile
controller?.otherUser = sender as! YourUserClass
controller?.loggedInUser = loggedInUser
}
}
请记住使用用户的实际类更改“YourUserClass”。也许如果使用firebase它就像FIRUser。
希望它有所帮助,不要犹豫。