【问题标题】:How to get an active UIViewController on storyboard?如何在情节提要上获得活动的 UIViewController?
【发布时间】:2012-08-13 03:05:01
【问题描述】:

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

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

提前致谢!!

【问题讨论】:

    标签: ios ipad storyboard


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我有这样的解决方案:

      1. 控制器A:

      '    SingleController * B = [SingleController shareSingleController];
      [self.navigationController pushViewController:con animated:YES];'
      
      //push ControllerB 
      
      1. 控制器B:

      +(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;'
      }
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-21
        • 2012-06-28
        • 1970-01-01
        • 1970-01-01
        • 2013-05-11
        • 1970-01-01
        • 2012-11-01
        • 2014-06-22
        相关资源
        最近更新 更多