您的位置:首页 > 移动开发 > IOS开发

iOS 开发之 单例

2015-09-11 14:53 363 查看
一、单例

单例设计模式确保对于一个给定的类只有一个实例存在,这个实例有一个全局唯一的访问点。它通常采用懒加载的方式在第一次用到实例的时候再去创建它。单例,从表面上看,就是只初始化一次的意思

1、我们先创建一个类 Animal

2、在.h文件中创建单例的方法

+ (id)defaultManager;

3、在.m文件中实现单例的方法

#import "Animal.h"

//static 告诉系统
不要再创建这个对象了,这个一个静态变量
static Animal *animal = nil;
@implementation Animal
+ (id)defaultManager
{
// 保证只会创建一次的谓词(条件)
static dispatch_once_t onceToken;
// 保证 在多线程里面 对象只初始化一次
dispatch_once(&onceToken, ^{
animal = [[Animal alloc]init];
});
return animal;
}
@end

4、当我们要使用这个单例的时候,需要在主函数导入这个类 如:

#import "Animal.h"

Animal *dog = [Animal defaultManager];
dog.name = @"哮天犬";
Animal *cc = [Animal defaultManager];
NSLog(@"%@",cc.name);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: