가능한 경우 예제와 같이 사전에서 키-값 쌍을 제거하고 싶습니다.
var dict: Dictionary<String,String> = [:]
var willRemoveKey = "SomeKey"
dict.removePair(willRemoveKey) //that's what I need
답변:
이것을 사용할 수 있습니다 :
dict[willRemoveKey] = nil
아니면 이거:
dict.removeValueForKey(willRemoveKey)
유일한 차이점은 두 번째 값이 제거 된 값 (또는 존재하지 않는 경우 nil)을 반환한다는 것입니다.
dict.removeValue(forKey: willRemoveKey)
nil
항상 키가 삭제됩니다. nil
선택적 값 유형으로 사전에 참 값을 할당하려면 .some(nil)
.
LOOP에서 조건 확인으로 제거
var eventDateDict = [String:String]()
//Declarations
var tempDict = eventDateDict
for value in tempDict{
let getDate = value.key
if getDate < Date(){
eventDateDict.removeValue(forKey: value.key)
}
}
dict.removeValue(willRemoveKey)
.removeValueForKey의 이름이 변경된 것처럼 보이기 때문에 이제 호출해야 합니다. 도움을 주셔서 감사합니다!