0
私はこの問題を理解していますが、解決方法はわかりませんが、他のスレッドが見つかりました。 私はVARのための私を持っている:不変の値に変異メンバを使用することはできません配列はget-onlyプロパティですswift 3
static var DeliveryStatusArray =
[
"claimable": [],
"onTime": [],
"future": [],
"claimDone": [],
"tooOld": [],
]
My機能は次のとおりです。私は[ "カード"] tmpArray newJsonの初めに挿入する。この機能で
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
}
。 2回目に、DeliveryStatusArray ["status"]にnewJsonを渡す必要があります。私の見解では
、私の関数のプロトタイプは次のとおりです。DashboardManager.moreCard(status: section, newJson: json["data"])
newJson [ "カード"]配列.insertに私のエラーを得ました
プロトタイプを変更する必要がありますか? ** DashboardManager.moreCardに変更したとき(状態:section、newJson:json ["data"])** 同じエラーがありますが、プロトタイプを変更しなければエラーが発生します* * 'Json'型の値をinoutパラメータに渡すには、明示的に&** –
が必要です。事前に作成したプロトタイプオブジェクトをinoutパラメータに渡すだけで、メソッド内でそのオブジェクトを変更することはできません。メソッドで渡されるパラメータは、DashboardManager.moreCard(status:section、newJson:&json ["data"])または 'var jsondata = json [" data "]、DashboardManager.moreCard(status:section、newJson:&jsondata) ' –