准备Segue:一个VC到另一个VC与期权



我有一个变量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]
}
}

中确实选择了:

self.performSegue(withIdentifier: "goToProfileSelected", sender: indexPath) //pass indexPath

现在正在为segue做准备:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let index = sender as? IndexPath {
let name = self.picUsernameArray[index.row]
destination.usernameValue = name
} 
}

最新更新