iOS设计模式-单例模式

2023-04-24  本文已影响0人  Tel_小超

单例模式

保证一个类只有一个实例,并提供一个访问它的全局访问点

单例模式

何时使用单例模式

  • 类只能有一个实例,而且必须从一个为人熟知的访问点对其进行访问,比如工厂方法。
  • 这个唯一的实例只能通过子类化进行扩展,而且扩展的对象不会破坏客户端代码。

单例的优缺点

单例的优点(主要优点)

单例的缺点(主要缺点)

在Objective-C中实现单例模式

不考虑线程安全的单例模式

static SingleCase *manager = nil;    
     
+ (SingleCase *)defaultManager {    
    if (!manager){   
        SingleCase = [[self alloc] init];    
        return manager;   
        }  
} 

线程安全的单例模式

+ (SingleCase *)sharedManager    
{    
        static SingleCase *ManagerInstance = nil;    
        static dispatch_once_t predicate;    
        dispatch_once(&predicate, ^{    
                ManagerInstance = [[self alloc] init];     
        });    
    return ManagerInstance;    
}  
上一篇 下一篇

猜你喜欢

热点阅读