는 그 시도했지만 값이 전무 경우, 올바르게 행동하지 않는 이벤트 (키는 "CODE_REQUEST1가 존재하지 않습니다).키가 사전에 사전에 존재하지 않는지 테스트하는 방법은 무엇입니까?
form.souhait1_1 = contactDetails["CODE_REQUEST1"] != nil ? String(formatIntToString(contactDetails["CODE_REQUEST1"])) : ""
는 그 시도했지만 값이 전무 경우, 올바르게 행동하지 않는 이벤트 (키는 "CODE_REQUEST1가 존재하지 않습니다).키가 사전에 사전에 존재하지 않는지 테스트하는 방법은 무엇입니까?
form.souhait1_1 = contactDetails["CODE_REQUEST1"] != nil ? String(formatIntToString(contactDetails["CODE_REQUEST1"])) : ""
당신은 조건부로 (들 가능성이 기존 키) : 사용 Optional
의 map(_:)
방법을 사용할 수 있습니다
form.souhait1_1 = contactDetails["CODE_REQUEST1"]
.map { String(formatIntToString($0)) } ?? "N/A"
는 contactDetails["CODE_REQUEST1"]
호출이 nil
될 것이며, .map
호출이 경우 nil
병합 연산자 ??
은 디폴트 값 (상기 "N/A"
)을 공급하는데 사용되며, nil
를 리턴한다.
당신은 swift3
에 대한 ?? 사용할 수 있습니다 당신의 사전에서 주어진 키 값 :var dic = ["CODE_REQUEST1":"success"]
var value = dic["CODE_REQUEST1"] ?? "" // value = success
dic = ["qq":"fail"]
value = dic["CODE_REQUEST1"] ?? "" // value = ""
'@inline (__ always) func index (forKey key : Dictionary.Key) -> Dictionary .Index?' –
당신의 질문을 이해하는 데 어려움을 겪고 있습니다. 문제가 발생 했습니까? 늘 그렇듯이, [mcve]는 크게 감사 할 것입니다. – Hamish
키가 사전 contactDetails에 있는지 테스트하고 싶습니다. 문제는 이미지에서 볼 수있는 값이 nil이라는 것입니다 (표현식 contactDetails [ "CODE_REQUEST1"] = nil). 그래서 실제로는 아는 것이 아니라 식을 사용할 때 contactDetails [ "CODE_REQUEST1"]! = nil이면 사용할 수 있습니다. , 그것은 첫 번째 인수를 실행하고, 그것은 nil이 아니므로 ... – Claudio