2016-04-04 9 views
0

Hallo, ich bin nicht gut in Swift und bekomme einen Signalfehler. Ich konnte nichts finden, was das verursachen könnte. Ich möchte diese App wirklich beenden, kann mir bitte jemand helfen.Signal SIGABRT Fehler in ViewController

Fehler-Video https://www.dropbox.com/s/xlvo22fvurivize/error.mov?dl=0

Da ich Option ziehen nur für die Segue verwende ich bin nicht sicher, es mit dem Code verwandt ist. Sollte ich etwas in dieser Klasse hinzufügen, gibt es vielleicht etwas, das ich vermisst habe?

Could not cast value of type 'recipeApplication.ViewController' (0x1041ff030) to 'recipeApplication.matchesPageViewController' (0x1041ff0d0). 

Dies ist der Fehler.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    let matchesPage: matchesPageViewController = segue.destinationViewController as! matchesPageViewController 

    for var i = 0, a = 0 ; i < data(0).2 ; i++ { 

     if data(i).0.isSubsetOf(choosenSet) == true { 
      self.myMatchedArray.insert(self.data(i).1, atIndex: a) 
      a++ 
     } 
    } 

    for var i = 0 ; i < myMatchedArray.count ; i++ { 
     //print(myMatchedArray[i]) 
     matchesPage.dataArray.append(myMatchedArray[i]) 
    } 
} 

Dies ist der Code in meinem prepareforsegue aber wie in dem Video, ich dies verwendet habe, einen anderen Viewcontroller für das Gehen so habe ich es nicht wieder für den Gang zu verwenden. Wie ich schon sagte, ich habe es gerade mit einem segue erklärt ...

Jede Idee ist willkommen. Danke

+0

Veröffentlichen Sie Ihren relevanten Code (wahrscheinlich der Code in Ihrer 'prepareForSegue:' Methode basierend auf dem Fehler) – dan

+0

Siehe auch: https://www.raywenderlich.com/10209/my-app-crashed-now-what-part -1 für Informationen zum Debuggen von Abstürzen – dan

+0

Der Fehler scheint zu sagen, dass Sie etwas auf ein Objekt 'matchsPageViewController' werfen, die nicht eins ist. Es ist stattdessen ein 'ViewController'. –

Antwort

0

Wie in den Kommentaren besprochen, beim Drucken segue.destination, erhalten Sie <recipeApplication.ViewController: 0x7f9f1a42b670>. Das bedeutet, dass das Ziel für Ihre Suche ViewController war. Sie haben jedoch versucht, ViewController als matchesPageViewController zu übertragen. Deshalb erhalten Sie Ihren Fehler. Sie sollten dies überprüfen.

if let matchesPage = segue.destinationViewController as? matchesPageViewController { 
    //Do code 
} 

Hoffe, das hilft.

Verwandte Themen