이 코드는 Xcode 8 베타 5에서 컴파일되었지만 베타 6에서 깨졌습니다.이 비교를 수행하는 올바른 새로운 Swift 3 방법은 무엇입니까? 난 그냥 같은 오류 메시지에 성공했다Xcode 8 beta 6 swift 3 localizedCaseInsensitiveCompare
Argument passes to call that takes no arguments
이 코드는 Xcode 8 베타 5에서 컴파일되었지만 베타 6에서 깨졌습니다.이 비교를 수행하는 올바른 새로운 Swift 3 방법은 무엇입니까? 난 그냥 같은 오류 메시지에 성공했다Xcode 8 beta 6 swift 3 localizedCaseInsensitiveCompare
Argument passes to call that takes no arguments
self.categories = categories.sorted { $0.localizedCaseInsensitiveCompare($1) == ComparisonResult.orderedDescending }
오류입니다. 내 테스트 코드에서
, 내가 같은 인스턴스 속성 categories
를 선언하는 경우 : 귀하의 경우이 매우 유사한 경우
error: argument passed to call that takes no arguments
, 당신이 필요합니다
var categories: [NSString] = []
이 오류 메시지를 가지고있다 속성 선언을 변경하려면
var categories: [String] = []
문제는, 당신은 더 나은 때문에 베타 6/엑스 코드 8 스위프트 (3)과 같은 유형의 부정합의 종류를 확인할 것 :
문제는 self.categories가 NSArray?입니다. 인수를 논의했기 때문에이 문제는 sort 명령과 관련이 있다고 생각했습니다. –
@JasonHocker, Swift 3은 신속하게 진화하여 신속한 팀은 진단 메시지를 수정할 시간이 없습니다. Swift가 'NSArray'에서 예상되는 유형을 반환하는'sorted '의 일치하는 오버로드를 찾을 수없는 경우, 때로는 이런 종류의 부적절하고 혼란스러운 메시지를 출력합니다. 그리고 이런 종류의 나쁜 진단은 버그로 간주되어야하며, 버그 리포트를 Apple이나 swift.org에 보내는 것이 좋습니다. – OOPer
동일 (엑스 코드 8 베타 (6)의 릴리즈 노트에서 발췌)
- Bridging conversions are no longer implicit. The conversion from a Swift value type to its corresponding object can be forced with
as
. For example:string as NSString
. Any Swift value can also be converted to its boxedid
representation withas AnyObject
. (SE-0072)
여기에서 문제를 제기하십시오. 나는 Xcode beta의 공식 Swift 3 가이드에서 발췌 문장을 컴파일하려고 시도했는데 같은 오류가 발생했습니다 - Argument passes to call that takes no arguments
. 그러나 IBM Swift Sandbox를 사용했을 때 성공적으로 컴파일되었습니다. here보고에서
let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
func backward(_ s1: String, _ s2: String) -> Bool {
return s1 > s2
}
var reversedNames = names.sorted(by: backward)
, 그것은 보인다 x.sorted 변경 소트의 API : x.sorted에 (isOrderedBefore>) (기준 :>). 앞으로 Xcode 베타 버전에서는이 문제가 해결 될 것입니다.
그 또 다른 작성 방법 : var reversedNames = names.sorted ({s1, s2 -> s1> s2의 Bool}) – Edudjr
오류 메시지가 정말 나쁜 경우 bugs.swift.org에 버그를 제출하고 싶을 수 있습니다. 무슨 전화를 말하는지 가리 킵니까? – jtbandes
이 코드는 저에게 효과적 일뿐 아니라 문서를 정렬 (by : <)하여 내림차순으로 정렬하는 것이 좋습니다. – jjatie
Swift 3에서'ed'없이'sort'를 사용하여 제자리에서 정렬 할 수 있습니다. 'categories.sort {$ 0.localizedCaseInsensitiveCompare ($ 1) == .orderedDescending}' –