gpt4 book ai didi

ios - 删除 SwiftyJSON 数组中的字典记录

转载 作者:行者123 更新时间:2023-11-30 12:38:15 25 4
gpt4 key购买 nike

Swift 3.0 iOS 10.x SwiftyJSON

我有一个字典对象的 SwiftyJSON 数组,看起来像这样......

[
{
"figure" : 1326,
"account" : "Charles"
}
{
"figure" : 2361,
"account" : "James"
}
]

我想删除其中属于“James”的记录,我想出了这个代码。 jsonObjects 包含您在上面看到的数组。

    var json2S = sharedDataAccess.jsonObjects

for json2DX in 0..<json2S.count {
var delIndex: Int? = nil
for (jsonK, subJson) in sharedDataAccess.jsonObjects[json2DX] {

print("json2D \(jsonK) \(subJson.stringValue) \(Name)")
if jsonK == "account" && subJson.stringValue != Name {
delIndex = json2DX
print("DELETE IT \(jsonK) \(subJson.stringValue) \(Name)")
}
}
if delIndex != nil {
json2S[0].arrayObject?.remove(at: delIndex!)
print("DELETING IT \(delIndex) \(Name)")
}
}

sharedDataAccess.jsonObjects = JSON(json2S)

它有效,但不太像我希望的那样。它删除了 James [假设 Name 变量包含 James],但它给我留下了这个。

[
null,
{
"figure" : 1326,
"account" : "Charles"
}
]

James 被替换为 null...我不想要一个 null,我如何删除条目但不得到 null 或者实际上也删除 null!

最佳答案

好的,这是我的答案。发布它是为了更好地衡量;逻辑不完全相同,但遵循 Vadian 的观点。

var json2S = sharedDataAccess.jsonObjects

var jsonA:[[String:Any]] = []
for json2P in sharedDataAccess.jsonObjects {
print("json2P \(json2P)")
var jsonDict:[String:Any] = [:]
var json2Save = false
for (jsonK, subJson) in json2P {
print("jsonK \(jsonK) \(subJson.stringValue) \(fnName)")
jsonDict[jsonK] = subJson.stringValue
if jsonK == "account" && subJson.stringValue == fnName {
json2Save = true
}
}
if json2Save {
jsonA.append(jsonDict)
}
}

let sharedDataAccess.jsonObjects = JSON(jsonA)

关于ios - 删除 SwiftyJSON 数组中的字典记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42600209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com