如何在故事板上获得活动的UIViewController?

时间:2012-08-16 17:43:57

标签: ios ipad storyboard

有人可以告诉我如何获得它之前创建的UIView控制器吗?我正在使用storyboard并且我已经阅读了关于方法instantiateViewControllerWithIdentifier的苹果文档:但是这个doc说每次我调用这个方法它都会创建一个新的实例ViewController和我想要的是使用现有的。

我在故事板上寻找UIViewController单例。有可能吗?

提前致谢!!

2 个答案:

答案 0 :(得分:2)

如果您只调用instantiateViewControllerWithIdentifier:一次,然后将结果保存为某个地方的强大属性以供重复使用,那么您只会创建一次。

答案 1 :(得分:0)

我有这样的解决方案:

  1. ControllerA:
  2. '    SingleController * B = [SingleController shareSingleController];
    [self.navigationController pushViewController:con animated:YES];'
    
    //push ControllerB 
    
    1. ControllerB:
    2. +(instancetype)shareSingleController
      {
          static SingleController * single;
      
          static dispatch_once_t onceToken;
      
          dispatch_once(&onceToken, ^{    
              //a static instance from StoryBoard
      
              single = (SingleController *)[[UIStoryboard storyboardWithName:@"SingleController" bundle:nil]instantiateInitialViewController];
          });
          return single;'
      }
      

      你可以测试它的单个实例。