美文网首页iOS
单例 - iOS

单例 - iOS

作者: survivorsfyh | 来源:发表于2019-02-25 10:43 被阅读0次

    Foundation 和 Application Kit 框架中的一些类只允许创建单件对象,即这些类在当前进程中的唯一实例.
    举例来说,NSFileManager 和 NSWorkspace 类在使用时都是基于进程进行单件对象的实例化.当向这些类请求实例的时候,它们会向您传递单一实例的一个引用,如果该实例还不存在,则首先进行实例的分配和初始化.单件对象充当控制中心的角色,负责指引或协调类的各种服务.如果类在概念上只有一个实例(例如:NSWorkspace),就应该产生一个单件实例,而不是多个实例;
    如果未来可能有多个实例,可以使用单件实例机制,而不是工厂方法或函数.

    + (instancetype)shareInstance {
        static YHAccessAuthorization *shareInstance = nil;
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            shareInstance = [[self alloc] init];
        });
        
        return shareInstance;
    }
    

    相关文章

      网友评论

        本文标题:单例 - iOS

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