2016-09-21 24 views
8

Po szybkiej konwersji 3 otrzymuję ten błąd.Swift 3 błąd [_SwiftValue nsli_superitem]

'NSInvalidArgumentException' powodu: - [_ SwiftValue nsli_superitem] Przełącznik nierozpoznane wysyłane do przykładu 0x600000a54820 '

Kod ten wynosi tego wykorzysta się działać przy szybkim 2:

let views = ["newView": userLabel] 
let widthConstraints = NSLayoutConstraint.constraints(withVisualFormat: "H:[newView(0)]", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views) 
userMainLabel.addConstraints(widthConstraints) 

Odpowiedz

19

jest to problem z szybkim 3, gdzie słownika jest traktowany jako [ciąg: UIView?]

Rozwiązaniem jest przypisanie TY pe jako nieobowiązkowe

+0

W moim przypadku mój widok jest zadeklarowany jako opcjonalny, ale wydaje się, że w Swift 2 kompilator niejawnie go rozpakował. Lubię to. O wiele bardziej przewidywalny. Ostrożnie z opcjami w słownikach! hehe – SeizeTheDay

+0

Dzięki. Zmarnowałem dzień, zanim się zorientowałem :( – Storix