【问题标题】:How to pass JSON array view controller in Xcode using swift如何使用 swift 在 Xcode 中传递 JSON 数组视图控制器
【发布时间】:2021-06-18 18:14:33
【问题描述】:

我可以从一个简单创建的字典数组 (dictCategories) 传递值,但是,当我尝试从我的 JSON 数组 (var orders = Order) 传递数据时,它不起作用。我得到了错误:

“实例成员 'row' 不能用于类型 'IndexPath';您的意思是使用此类型的值来代替吗?”

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let detailsVC = segue.destination as! SelectedViewController
        let selectedRow = tblView.indexPathForSelectedRow!.row
        
        //detailsVC.statusVar = Array(dictCategories.values)[selectedRow]
        
        detailsVC.statusVar = orders[IndexPath.row].order_status[selectedRow]
    }

【问题讨论】:

  • let selectedIndexPath = tblView.indexPathForSelectedRow!; detailsVC.statusVar = orders[selectedIndexPath.row].order_status[selectedIndexPath.row]?但我会使用guard letif let 而不是!(强制展开可能会导致崩溃)。
  • @Larme 谢谢,它出现了错误:Cannot assign value of type 'Character' to type 'String'
  • 哪一行给你错误? Order 类型在哪里定义? orders[IndexPath.row] 位可能应该是 orders[selectedRow],但是由于您没有提供有关您发布的代码的太多信息,因此很难说出您在做什么。

标签: json swift xcode


【解决方案1】:
var selectedItem:Int?
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    selectedItem = indexPath.row
    print(selectedItem)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?){
    if let detailsVC = segue.destination as? SelectedViewController
    {
        detailsVC.statusVar = orders[selectedRow].order_status
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多