美文网首页
iOS 如何将ViewController写成单例

iOS 如何将ViewController写成单例

作者: 遇见I你 | 来源:发表于2019-12-04 14:49 被阅读0次

    .h 文件代码

    #import  <UIKit/UIKit.h>

    NS_ASSUME_NONNULL_BEGIN

    @interface ManagerViewController : UIViewController

    /** 单利创建 - Method

    */

    + (instancetype)sharedManager;

    /** 单利销毁 - Method

    */

    - (void)removeSharedManager;

    @end

    NS_ASSUME_NONNULL_END

    .m 文件代码

    #import "ManagerViewController.h"

    @interface ManagerViewController ()

    @end

    static dispatch_once_t onceToken;

    static ManagerViewController *_manger = nil;

    @implementation ManagerViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

        self.title = @"vc_manager";

    }

    #pragma mark- 单利

    /** 单利创建

     */

    + (instancetype)sharedManager

    {

        dispatch_once(&onceToken, ^{

            _manger = [[ManagerViewController alloc] init];

        });

        return _manger;

    }

    /** 单利销毁

    */

    - (void)removeSharedManager

    {

        /**只有置成0,GCD才会认为它从未执行过。它默认为0。

         这样才能保证下次再次调用sharedManager的时候,再次创建对象。*/

        onceToken= 0;

        _manger=nil;

    }

    @end

    相关文章

      网友评论

          本文标题:iOS 如何将ViewController写成单例

          本文链接:https://www.haomeiwen.com/subject/jvclgctx.html