Swift, konnte nicht gegossen Wert vom Typ

Ich erstellt eine Unterklasse von UICollectionViewController und nannte es LibraryCollectionViewController, und markiert beide Checkboxen für das Projekt und testen. Auch ist es storyboard-id ist LibraryCollectionViewController und die entsprechende Klasse über interface builder.

Wird neu in Swift und iOS Testen ich ging und versuchte zu instanziieren gesagt-view-controller in meinem test-Fall wie folgt:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let libraryCollectionVC = storyboard.instantiateViewControllerWithIdentifier("LibraryCollectionViewController") as! LibraryCollectionViewController

Und ich bekomme die folgende Fehlermeldung:

Could not cast value of type 'MyApp.LibraryCollectionViewController' (0x1010b01f0) to 'MyAppTests.LibraryCollectionViewController' (0x10bd7f580).

So ist es klar, dass es nicht Gießen, aber als ich noch neu bin Swift, ich finde mich nicht in der Lage zu bestimmen, ob Sie den Fehler selbst verursacht wird durch:

  1. Ich etwas falsch gemacht habe beim erstellen der Unterklasse und ich bin das verweisen auf ein anderes (Ergo der Anwendung.[vc] vs MyAppTests.[vc])
  2. Das casting mit as! ist falsch
  3. Einem anderen Grund

Jede Hilfe wäre dankbar, danke im Voraus.

Update 1: Wenn ich das erstellen der view-controller, die den letzten Schritt zeigt 2 Checkboxen unter einem Ziel header, ich konnte beide von Ihnen, könnte das die Ursache sein?

  • Hast du das definieren der benutzerdefinierten Klasse in IB? (btw, ich denke, es sollte wieder UIStoryboard(name: "Main" - bundle: NSBundle.mainBundle().)
  • In IB ich die Klasse (unter "Custom Class" - header), um LibraryCollectionViewController. Ich werde versuchen, das bundle
  • Die Verwendung von bundle gab dasselbe Resultat 🙁
  • Ich denke, dass die Ursache ist, dass Sie beide (vielleicht). MyAppTests versuchen, deaktivieren Sie diese ein
  • vielleicht hilft UIStoryboard(name: "Main" - bundle: NSBundle(forClass: selbst.dynamicType)) iosmike.com/2014/08/unit-testing-viewcontrollers-in-swift.html
  • Das war der trick, danke

Schreibe einen Kommentar