美文网首页
单例的宏定义

单例的宏定义

作者: IWtCTworld | 来源:发表于2015-11-11 19:44 被阅读45次

    #define DEFINE_SINGLETON_FOR_HEADER(className) \

    \

    + (className *)shared##className;

    #define DEFINE_SINGLETON_FOR_CLASS(className) \

    \

    + (className *)shared##className { \

    static className *shared##className = nil; \

    static dispatch_once_t onceToken; \

    dispatch_once(&onceToken, ^{ \

    shared##className = [[self alloc] init]; \

    }); \

    return shared##className; \

    }

    使用时

    1.在.h中#import@interface RootViewController : UIViewController

    // 单例

    DEFINE_SINGLETON_FOR_HEADER(RootViewController);

    @end

    2.在.m中

    #import "RootViewController.h"

    @interface RootViewController ()

    @end

    @implementation RootViewController

    #pragma mark - public method

    // 单例

    DEFINE_SINGLETON_FOR_CLASS(RootViewController)

    3.得到单例

    RootViewController *controller = [RootViewController sharedRootViewController]

    相关文章

      网友评论

          本文标题:单例的宏定义

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