1
我是IOS編程的新手。在我的應用程序中,我有一個容器視圖,該視圖連接到三頁的頁面視圖控制器。它運作良好。當我在主視圖控制器中按下一個按鈕時,我想更改容器視圖中的按鈕標籤。所以,我必須將主視圖中的變量連接到頁面視圖控制器中的變量。我寫如下,但當我點擊按鈕(SIGABRT信號)時崩潰。通過單擊主視圖中的按鈕更改容器視圖中的按鈕標籤
@IBAction func pressShift(sender: AnyObject) {
if (self.shift != 3) {
self.shift++
}
else {
self.shift = 1
}
performSegueWithIdentifier("container", sender: sender)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var scene = segue.destinationViewController as! FeaturesViewController
scene.shiftNumber = self.shift
}
我做了一個簡單的示例項目。主視圖中的容器視圖。容器視圖(不是頁面視圖控制器)中有一個標籤,主視圖中有一個按鈕。我寫了相同的代碼,但同樣的錯誤發生。 這裏是我的故事板的圖像...
示例項目:http://www.filedropper.com/exampletosegue
有幾件事,你應該檢查prepareForSeque中的segueIdentifier if(segue.identifier ==「container」){...},我想你應該寫「as?」而不是「as!」 (我不知道這是什麼導致你的崩潰,我也是新的迅速) – TheSD
segueIdentifier是正確的。當我調試時,我按下按鈕時會調用prepareForSegue方法。該方法執行後,它崩潰。另外,檢查「as?」。不工作.. – D3sT
也許檢查self.shift!=無 – TheSD