iOS单例模式

1.单例模式
单例模式是一种常用的设计模式,对于一个单例类,必须保证任意时刻只有一个单例对象,并且自行实例化该对象,并向整个系统提供该对象,也就是说无论实例化单例对象多少次,都只能创建出一个对象,该对象是全局的能够整个系统所访问
单例对象很像c中全局变量,单例类可以实现不同对象之间的数据共享

2.单例对象的创建方式
一般是以shared/current/default开头, 并且是类方法

3.单例模式的应用
1:单例类可以实现不同对象之间的数据共享
2:当创建一个类需要消耗很大的性能的时候

4.单例创建

//SingleClass.h文件
#import <Foundation/Foundation.h>


@interface SingleClass : NSObject


@property (copy, nonatomic)NSString *name;


//单例类提供的一种创建单例对象方法
+ (SingleClass *)sharedSingleClass;


@end

//SingleClass.m文件

#import "SingleClass.h"


//1:创建一个全局静态的单例子对象指针,初始值为nil
static SingleClass *single = nil;


@implementation SingleClass
+ (SingleClass *)sharedSingleClass{
    //2:调用GCD的once方法//网络:多线程
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{//大括号里面代码在整个程序运行过程只会被执行一次//block-->代码块,代码段-->函数指针
        //3:实例化single指针
        single = [[SingleClass alloc] init];//第一次调用该方法的对象才能进行实例化
    });
    return single;//最后将实例化的对象返回//从第二次调用该方法,返回的都是第一次实例化的对象的首地址
}

@end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介: 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统...
    RunnerFL阅读 654评论 0 0
  • 一. 单例模式简介 单例模式的作用可以保证在程序运行过程,一个类只有一个实例,而且该实例易于供外界访问从而方便地控...
    xx_cc阅读 50,273评论 15 146
  • 原链接:http://www.jianshu.com/p/4867dc92337e原作者:仅供我个人收藏学习,原博...
    油菜花花花花阅读 342评论 0 0
  • 关于有声读物英语学习的几点看法 第一,之所以会有这个办法,源于这样几个因素 1.课外英语培训班,在...
    我是玲儿讷阅读 264评论 0 0
  • 过去,现在,未来 星币皇后,宝剑侍从,圣杯国王 清楚自己的能力和限制,以落地,踏实和安全的方式生活,会存点小钱在身...
    醒过来阅读 159评论 0 1