iOS开发:视图控制器间传递FlightModel数据遇类型错误
iOS视图控制器数据传递问题解决方案
错误原因
你在FlightInfoViewController中错误地将单个模型属性用数组语法初始化,导致类型不匹配:var flightDataPassedIn: FlightModel = []里的[]是数组类型,和FlightModel类型冲突,因此触发报错。
修正步骤
修正目标视图控制器的属性声明
从传递逻辑来看,你要传的是单个FlightModel实例,所以属性应声明为可选类型(或隐式可选),不要用数组初始化:// 推荐:可选类型,避免未传值时崩溃 var flightDataPassedIn: FlightModel? // 或者:确定一定会传值时用隐式可选 var flightDataPassedIn: FlightModel!补充视图跳转代码
在设置完属性后,添加对应的跳转逻辑(根据你的导航结构选择):// 导航控制器push跳转 navigationController?.pushViewController(controller, animated: true) // 模态present跳转 present(controller, animated: true)额外验证点
- 确认
arrivals数组的类型是[FlightModel],保证arrivals[indexPath.row]返回的是单个FlightModel实例。 - 检查
FlightModel是正确的自定义类/结构体,而非数组类型。
- 确认
内容的提问来源于stack exchange,提问作者TVProducer
相关产品推荐
相关产品推荐

