WatchOS开发报错:无法将listItem类型值转为预期的String?类型如何解决
错误原因
WKInterfaceLabel的setText()方法仅支持传入String类型参数,你代码中直接将listItem类型的rowModel实例传入,类型不匹配就会触发报错。你需要展示列表项名称的话,直接取listItem结构体的name属性即可。
修复后的核心代码
你只需要修改loadTableData方法里的赋值行即可:
private func loadTableData() { tableView.setNumberOfRows(tableData.count, withRowType: "RowController") for (index, rowModel) in tableData.enumerated() { if let rowController = tableView.rowController(at: index) as? RowController { // 改为取name属性传入 rowController.rowLabel.setText(rowModel.name) } } }
补充说明
当前你代码里的tableData是空数组,你还需要先完成iPhone端和Watch端的通信,把iPhone侧的列表数据同步到Watch端的tableData数组后,才能正常渲染出列表内容。
内容的提问来源于stack exchange,提问作者jbros18
相关产品推荐
相关产品推荐

