Swift에서 매개 변수로 문자열 사전을 사용하고 문자열 튜플을 반환하는 함수를 만들려고합니다. 내가 반환하는 튜플의 값 중 하나가 "nil"인 경우 내 프로그램을 중단시키지 않기 때문에 사전에 키, 값 쌍을 옵션으로 사용하고 싶습니다.어떻게 문자열 옵션을 신속하게 "해시 가능"하게 만드나요?
func songBreakdown(song songfacts: [String?: String?]) -> (String, String, String) {
return (songfacts["title"], songfacts["artist"], songfacts["album"])
}
if let song = songBreakdown(song: ["title": "The Miracle",
"artist": "U2",
"album": "Songs of Innocence"]) {
println(song);
}
말한다 첫 번째 줄에 오류 메시지가 :. "유형 해쉬를 ''? 문자열 프로토콜을 준수하지 않는이 '
I 키를 만드는 시도, 매개 변수에 대한 값 쌍되지 선택적 항목 ...
그러나 다음과 같은 오류 메시지가 표시됩니다. "조건부 바인딩의 바인딩 된 값은 선택적 유형이어야합니다. 이 문제를 어떻게 해결할 수 있습니까?
더 나은 스타일 : 튜플 요소의 이름을 지정하십시오. 'func songBreak (song songfacts : [String : String]) -> (title : String ?, artist : String ?, album : String?)'...'let title = song.title' –
고마워 Rob, 훌륭한 제안. – vacawama