我是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
}
我做了一个简单的示例项目。主视图中的容器视图。容器视图中有一个标签(不是页面视图控制器),主视图中有一个按钮。我写了相同的代码,但同样的错误发生了。 这是我的故事板的图像......
答案 0 :(得分:0)
我通过删除第一次启动时已创建的子视图来解决问题..
@IBAction func insertButton(sender: AnyObject) {
if (shiftNo != 3) {
shiftNo++
}
else {
shiftNo = 1
}
var childView = self.childViewControllers[0] as! UIViewController
childView.willMoveToParentViewController(nil)
childView.view.removeFromSuperview()
childView.removeFromParentViewController()
performSegueWithIdentifier("container", sender: self)
}