0
看来你可以在android中使用下面的代码只保留一个活动的一个实例。ios,像android一样维护单个viewcontroller?
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
如何在ios中实现相同的效果?
看来你可以在android中使用下面的代码只保留一个活动的一个实例。ios,像android一样维护单个viewcontroller?
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
如何在ios中实现相同的效果?
有这样做的没有标准的方式,但你可以让你的视图控制器单是这样的:
+ (instancetype *)sharedViewController {
static FooViewController *sharedViewController = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedViewController = [[FooViewController alloc] init];
});
return sharedViewController;
}
你会那么可以使用得到共享实例:
FooViewController *fooViewController = [FooViewController sharedViewController];
感谢您的意见。这当然是一个信息。我应该如何“重用”单身视图控制器?如果我推动singleton viewcontroller,它会自动从导航堆栈中移除吗? – eugene 2014-10-28 13:13:04
我不知道Android代码的确切功能,所以我想我可能会理解你的问题是错误的。它是否创建一个活动的新实例并释放旧实例?或者只保留一个可在任何地方使用的实例? – 2014-10-28 16:26:42
它保持单个实例。我不知道Android究竟如何做它的事情,虽然:( – eugene 2014-11-02 13:37:45