如何在故事板上使用相同的UIViewController,同时替换旧的

时间:2016-06-19 11:44:29

标签: ios swift uiviewcontroller storyboard

我正在编写游戏。这是一个文字游戏。 游戏页面总是与不同的内容相同。 当我使用instantiateViewControllerWithIdentifier(" SB")时,新的页面被添加到队列中。但那样使用的内存很高。

如何用新的旧页面替换旧页面?

1 个答案:

答案 0 :(得分:0)

您可以保留对该类的引用,并在其中包含一个加载其中内容的方法。

class SomeClass { 
  var referenceToGameClass : gameViewController!


   func someFunc() {
      self.referenceToGameClass.loadContent()
   }
}

在其他课程中,无论您希望如何,只需创建对上一课程的引用。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
      if(segue.identifier == "segueID") {
          let svc = segue.destinationViewController as! SomeClass
        svc.referenceToGameClass = self
    }

}

但是如何在离开gameViewController类时保存相同的引用?你可以在prepareforsegue方法中添加这一行,比如说上面提到的'SomeClass':

self.presentViewController(self.referenceToGameClass, animated: true, completion: nil)

方便的是,要将'SomeClass'移回同一个gameViewController,只需使用:

vfs_llseek()

这可能会让人感到有些困惑,但是如果你仔细阅读它,你就会得到它。你也可以问我问题!