ios - 如何正确使用为结构准备segue?
问题描述
我无法访问 VC1 中给出的 Struct 数据,在 VC2 中,我在这里缺少什么?
我已经尝试了很多东西,而我能够访问数据的唯一方法是在 VC2 中像这样声明变量:var contactsOfUser: ContactStruct?
但是这让我在 VC1 中的 Prepare for segue 中出错
无法将类型“[ContactStruct]”的值分配给类型“ContactStruct?”
无论如何,这是我的代码,也许我在某个地方搞砸了:
VC1:
//here i use performSegue:
DispatchQueue.main.async { [weak self] in
self?.performSegue(withIdentifier: "inviteFriends", sender: nil)
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "inviteFriends"{
let dest = segue.destination as! LetsInviteFriendsViewController
dest.contactsOfUser = self.contacts
}
}
VC 2:
var contactsOfUser: ContactStruct?
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
print(contactsOfUser?.givenName)
解决方案
错误信息非常清楚。您正在尝试ContactStruct
从 VC1 传递一个数组并将该数组分配给contactsOfUser
您声明为单个ContactStruct
. 只需将其更改为数组即可。
VC2:var contactsOfUser = [ContactStruct]()
推荐阅读
- javascript - 我如何删除不是我的消息,而是将机器人发送给我的消息?
- scala - 将 Scala Seq 转换为 Spark DStream?
- powerquery - Expression.Error:我们无法将值 3 转换为函数类型
- react-native - React Native Reanimated 2 为 SVG 路径的长度设置动画
- python - Pyinstaller 不包括 ffmpeg.exe 和 ffprobe.exe
- r - 在 Stata 和 R 之间具有时变系数的 coxph 的不同结果
- html - 网格容器的意外滚动
- azure-devops - 如何按标签显示错误?
- python-3.x - JPEG 参数结构不匹配:库认为大小为 584,调用者期望 Jetson 中的 python3 为 728
- r - 用于下载县级每日天气的 R 函数