我了解这个问题,但我不知道如何解决它,我找到了其他线程,但他们都是非常具体的问题。
我有我的for var:

    static var DeliveryStatusArray =
    [
        "claimable": [],
        "onTime": [],
        "future": [],
        "claimDone": [],
        "tooOld": [],
    ]

我的职责是:
    static func moreCard(status:String, newJson: JSON)
{
    var json = JSON(DeliveryStatusArray[status] as Any)
    var tmpArray = json[0]["cards"].arrayValue

    newJson["cards"].array?.insert(tmpArray, at: 0)
    DashboardManager.DeliveryStatusArray[status]?.removeAll()
    DashboardManager.DeliveryStatusArray[status] = tmpArray
}

在这个函数中,我想在newJson[“cards”]tmpArray的开头插入。第二次我需要在DeliveryStatusArray[“status”]传递newJson。我在电话里出错了
newJson[“cards”].数组?.插入(tmpArray,位置:0)
在我看来,我的函数原型是:DashboardManager.moreCard(status: section, newJson: json["data"])

最佳答案

Swift只允许常量作为方法参数。在您的情况下,可以使用方法中的inout参数来修复问题,如下所示。

  static func moreCard(status:String, newJson: inout JSON)
  {
     var json = JSON(DeliveryStatusArray[status] as Any)
     var tmpArray = json[0]["cards"].arrayValue

     newJson["cards"].array?.insert(tmpArray, at: 0)
     DashboardManager.DeliveryStatusArray[status]?.removeAll()
     DashboardManager.DeliveryStatusArray[status] = tmpArray
  }

关于ios - 无法在不可变值数组上使用变异成员是一种仅获取属性swift 3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42950015/

10-12 03:37