2016-04-04 25 views
0

Merhaba Swift'de iyi değilim ve sinyal hatası alıyorum. Buna sebep olabilecek hiçbir şey bulamadım. Bu uygulamayı gerçekten bitirmek istiyorum, birisi bana yardım edebilir.sinyal SIGABRT hatası görünümüKontrolör

hata-video Sadece o kodu ile ilgili olduğundan emin değilim segue seçeneği-sürükle kullandığı için https://www.dropbox.com/s/xlvo22fvurivize/error.mov?dl=0

. Bu sınıfa bir şey eklemem gerekirse, belki de özlediğim bir şey var mı?

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

Bu bir hatadır.

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]) 
    } 
} 

Bu benim prepareforsegue kod ama videoda, ben başka viewController gidiş için bu bir kullanmış gibi pek geri gidiş için kullanmak vermedi. Söylediğim gibi sadece bir sefayla ilan ettim ...

Herhangi bir fikir takdir edilir. Teşekkürler

+0

İlgili kodunuzu yazın (muhtemelen "prepareForSegue:' yöntemine göre kod) "hataya dayalı olarak) – dan

+0

Ayrıca bkz: https://www.raywenderlich.com/10209/my-app-crashed-now-what-part 1. – dan

+0

için hata ayıklama hakkında bilgi için Hata, bir değil bir "matchPageViewController" nesnesine bir şeyler döktüğünüzü söylüyor gibi görünüyor. Bunun yerine bir 'ViewController' var. –

cevap

0

segue.destination yazarken, yorumlarda belirtildiği gibi, <recipeApplication.ViewController: 0x7f9f1a42b670> aldı. Bu sizin segue için hedefin ViewController olduğunu gösterir. Ancak, ViewController'u matchesPageViewController olarak göndermeyi denediniz. Bu yüzden hatalarını alıyorsun. Bunu kontrol etmelisin.

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

Bu yardımcı olur umarım.