Utworzono podklasę o nazwie UICollectionViewController
i nazwano ją LibraryCollectionViewController
i zaznaczono oba pola wyboru dla projektu i testu. Jego identyfikator to LibraryCollectionViewController
i ustaw odpowiednią klasę na konstruktorze interfejsów.Swift, nie można było użyć wartości typu
Jako nowy w Swift i iOS Testing poszedłem i próbował wystąpienia powiedział widok kontroler w moim przypadku testu w następujący sposób:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let libraryCollectionVC = storyboard.instantiateViewControllerWithIdentifier("LibraryCollectionViewController") as! LibraryCollectionViewController
A ja otrzymuję następujący błąd:
Could not cast value of type 'MyApp.LibraryCollectionViewController' (0x1010b01f0) to 'MyAppTests.LibraryCollectionViewController' (0x10bd7f580).
Jest więc oczywiste, że nie jest to rzutowanie, ale ponieważ wciąż jestem nowicjuszem w Swift, nie jestem w stanie stwierdzić, czy sam błąd jest spowodowany przez:
- zrobiłem coś źle podczas tworzenia podklasy i mam przedstawieniu inną (Ergo MojaApl. [VC] vs MyAppTests. [VC])
- Odlew użyciu
as!
jest nieprawidłowy - Wszelkie inny powód
Każda pomoc byłaby doceniana, z góry dzięki.
Aktualizacja 1: Kiedy tworzenia kontrolera widoku, ostatni krok pokazuje 2 checkboxes pod docelowy nagłówka, ja włączony obu z nich, to może być przyczyną?
Czy zdefiniowałeś niestandardową klasę w IB? (przy okazji, myślę, że powinien to być powrót UIStoryboard (name: "Main", bundle: NSBundle.mainBundle().) – matthias
W IB ustawiam Class (poniżej nagłówka "Custom Class") do LibraryCollectionViewController. Wypróbuję pakiet –
@matthias Używanie pakietu dało taki sam wynik :( –