Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ios,像android一样维护单个viewcontroller?_Android_Ios - Fatal编程技术网

ios,像android一样维护单个viewcontroller?

ios,像android一样维护单个viewcontroller?,android,ios,Android,Ios,在android中,使用以下代码似乎只能保留一个活动实例 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); 如何在ios中实现相同的效果?没有标准的方法可以做到这一点,但您可以通过以下方式将视图控制器设置为单体: + (instancetype *)sharedViewController { static FooViewController *sharedViewContr

在android中,使用以下代码似乎只能保留一个活动实例

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?如果我按下singleton viewcontroller,它会自动从导航堆栈中删除吗?我不知道Android代码到底做了什么,所以我想我可能理解错了你的问题。它是否创建活动的新实例并取消分配旧实例?或者只保留一个在任何地方都可用的实例?它保留一个实例。我不知道安卓到底是怎么做的:(