2014-10-28 60 views

回答

0

有这样做的没有标准的方式,但你可以让你的视图控制器单是这样的:

+ (instancetype *)sharedViewController { 
    static FooViewController *sharedViewController = nil; 
    static dispatch_once_t onceToken; 

    dispatch_once(&onceToken, ^{ 
     sharedViewController = [[FooViewController alloc] init]; 
    }); 

    return sharedViewController; 
} 

你会那么可以使用得到共享实例:

FooViewController *fooViewController = [FooViewController sharedViewController]; 
+0

感谢您的意见。这当然是一个信息。我应该如何“重用”单身视图控制器?如果我推动singleton viewcontroller,它会自动从导航堆栈中移除吗? – eugene 2014-10-28 13:13:04

+0

我不知道Android代码的确切功能,所以我想我可能会理解你的问题是错误的。它是否创建一个活动的新实例并释放旧实例?或者只保留一个可在任何地方使用的实例? – 2014-10-28 16:26:42

+0

它保持单个实例。我不知道Android究竟如何做它的事情,虽然:( – eugene 2014-11-02 13:37:45