I want to remove a key-value pair from a dictionary like in the example.
var dict: Dictionary<String,String> = [:]
//Assuming dictionary is added some data.
var willRemoveKey = "SomeKey"
dict.removePair(willRemoveKey) //that's what I need
I want to remove a key-value pair from a dictionary like in the example.
var dict: Dictionary<String,String> = [:]
//Assuming dictionary is added some data.
var willRemoveKey = "SomeKey"
dict.removePair(willRemoveKey) //that's what I need
You can use this:
dict[willRemoveKey] = nil
or this:
dict.removeValueForKey(willRemoveKey)
The only difference is that the second one will return the removed value (or nil if it didn't exist)
dict.removeValue(forKey: willRemoveKey)
nil
always deletes the key. To assign a true nil
value in a dictionary with an optional Value type, assign .some(nil)
. –
Aluminate Swift 5, Swift 4, and Swift 3:
x.removeValue(forKey: "MyUndesiredKey")
Cheers
dict.removeValue(forKey: willRemoveKey)
Or you can use the subscript syntax:
dict[willRemoveKey] = nil
var dict: [String: Any] = ["device": "iPhone", "os": "12.0", "model": "iPhone 12 Pro Max"]
if let index = dict.index(forKey: "device") {
dict.remove(at: index)
}
print(dict) // ["os": "12.0", "model": "iPhone 12 Pro Max"]
For serial removal:
let forbidenParameters = [
"key1",
"key2",
"key3"
]
let cleanParameters = parameters.filter { !forbidenParameters.contains($0.key) }
let dict = ["k1": "v1" , "k2": "v2"]
for ( k, _) in dict{
dict.removeValue(forKey: k)
}
© 2022 - 2024 — McMap. All rights reserved.
dict.removeValue(willRemoveKey)
since it looks like .removeValueForKey has been renamed - thanks for the help! – Sendoff