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閱讀 649評論 0 0
  • 一. 單例模式簡介 單例模式的作用可以保證在程序運行過程,一個類只有一個實例,而且該實例易于供外界訪問從而方便地控...
    xx_cc閱讀 50,273評論 15 146
  • 原鏈接:http://www.lxweimin.com/p/4867dc92337e原作者:僅供我個人收藏學習,原博...
    油菜花花花花閱讀 342評論 0 0
  • 關于有聲讀物英語學習的幾點看法 第一,之所以會有這個辦法,源于這樣幾個因素 1.課外英語培訓班,在...
    我是玲兒訥閱讀 264評論 0 0
  • 過去,現在,未來 星幣皇后,寶劍侍從,圣杯國王 清楚自己的能力和限制,以落地,踏實和安全的方式生活,會存點小錢在身...
    醒過來閱讀 159評論 0 1