You need to enable JavaScript to run this app. WatchOS开发报错:无法将listItem类型值转为预期的String?类型如何解决
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 17:06:02