我有一个变量usernameSelected
,我想发送给另一个VC。
第一个VC:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
let usernameSelectedRow = picUsernameArray[indexPath.row]
usernameSelected = usernameSelectedRow
print(usernameSelectedRow) --> [this prints the right data]
print(usernameSelected) --> [this prints the right data]
performSegue(withIdentifier: "goToProfileSelected", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "goToProfileSelected" {
let destination = segue.destination as?
OtherUserProfileViewController
print(usernameSelected) ---> [this prints nil!!!!]
destination!.usernameValue = usernameSelected ---> [this returns nil to second VC]
}
}
答案 0 :(得分:0)
确实选择了:
self.performSegue(withIdentifier: "goToProfileSelected", sender: indexPath) //pass indexPath
现在准备进行搜寻:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let index = sender as? IndexPath {
let name = self.picUsernameArray[index.row]
destination.usernameValue = name
}
}