ios - 创建 ViewController 的单例对象

标签 ios objective-c uiviewcontroller singleton uistoryboard

调用[self performSegueWithIdentifier:@"popvc2id" sender:self];后我的ViewController2将通过 awakeFromNib 进行初始化方法。

我想创建一个singleton object of ViewController2使用storyboard

我该怎么做?

最佳答案

我认为这不是好的做法。 但是如果你想要一个来自你的 View Controller 的实例,你可以在你的 View Controller 中为 View 提供一个标签,或者使用 Storyboard ID,然后你可以使用访问器方法访问它。 此访问方法为您初始化 Controller 并将其保存在字典中,下次调用它时,它将为您返回保存的实例。

像那样:

+(yourviewcontrollerclassname *)getViewController{
    UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    yourviewcontrollerclassname * vc;
    if (![_viewControllers containsObject:@"vc-identifier"]){
       vc = (yourviewcontrollerclassname *)[sb instantiateViewControllerWithIdentifier:@"vc-identifier"];
       [_viewControllers setObject:vc forKey:@"vc-identifier"];
    }else{
       vc = (yourviewcontrollerclassname *)[_viewController objectForKey:@"vc-identifier"];
    }
    return vc;
}

关于ios - 创建 ViewController 的单例对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40232477/

相关文章:

iphone - 如何dequeueReusableCellWithIdentifier : work?

ios - 在 iOS 中考虑 alpha 部分在另一个图像上添加图像

ios - 为什么我的代码执行双重转场?

objective-c - CoreLocation , MapKit 错误

ios - 从 UIViewController 实例化 UIView 子类

ios - 如果我有 IBOutlet 约束,复杂的 UIView 布局会有所不同

iphone - UIView removeFromSuperview 调用 viewWillDisappear

css - iOS硬件加速下滑

ios - 如何混入 Objective-C 方法的完成 block ?

iphone - iphone中对NSDate的NSString进行排序