2014-09-01 3 views
0

내가 할 노력하고있어 모든 사전에 키/값을 반전하는 것입니다, 나는 다음과 같은 오류 얻을 :Swift - 추가 인수 'count'가 호출 중입니까?

추가 인수 '수'의 칼

var dictionary = SWIFT_DICTIONARY 

var inverseDictionary = NSDictionary.dictionaryWithObjects(dictionary?.keys, forKeys: dictionary?.values, count: dictionary?.count) 

답변

4

사용이 대신을 :

var inverseDictionary = NSDictionary(objects: dictionary.keys.array, forKeys: dictionary.values.array) 

코드에 dictionary의 래핑을 해제했으나 선택 사항이 아닌 것으로 표시됩니다. 코드 실수 또는 그냥 & 붙여 넣기 실수를 할 수 있습니까?

부록 - 당신은 count 매개 변수없이 정적 버전을 시도하는 경우 : 컴파일러가이 메시지와 함께 불평

var inverseDictionary = NSDictionary.dictionaryWithObjects(dictionary.keys.array, forKeys: dictionary.values.array) 

:

'dictionaryWithObjects(_:forKeys:) is unavailable: use object construction 'NSDictionary(objects:forKeys:)' 

내가 같은 다른 방법에 대한 어떻게 생각하면 사용하고 싶지만 컴파일러가 적절한 오류 메시지를보고하지 않습니다.

+0

예, 실수로 작성한 코드는 정확합니다. 당신의 대답은 효과가 있었지만, 왜 아직도 광산이 아닌지 궁금합니다. dictionaryWithObjects : forKeys : 개수 : https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/Reference/Reference.html#//apple_ref/occ/clm/NSDictionary/dictionaryWithObjects : forKeys : – aryaxt

+0

편집 된 답변보기 – Antonio

+0

답변 주셔서 감사합니다. 오류가 표시되지 않습니다. 다른 오류가 나타납니다. Xcode 베타 버그 일 수 있습니다. 나는 실제 오류로 할 일이없는 많은 컴파일 오류를 얻었습니다. – aryaxt