單例設計模式

2021-06-28 18:05:59 字數 1344 閱讀 8438

在objective-c中要實現乙個單例類,至少需要做以下四個步驟:

1、為單例物件實現乙個靜態例項,並初始化,然後設定成nil,

2、實現乙個例項構造方法檢查上面宣告的靜態例項是否為nil,如果是則新建並返回乙個本類的例項,

3、重寫allocwithzone方法,用來保證其他人直接使用alloc和init試圖獲得乙個新實力的時候不產生乙個新例項,

4、適當實現allocwithezone,copywithzone,release和autorelease。

@inte***ce

single :

nsobject +(

id)shareinstance; -(

nsstring

*)sendvalue;

@property

(nonatomic

, copy

)nsstring

*username;

@end

#import

"single.h"

static

single

*shareinstance =

nil;

//第一步:靜態例項,並初始化。

@implementation

single +(

id)shareinstance

return

shareinstance;

} -(nsstring

*)sendvalue

+ (id) allocwithzone:(

nszone

*)zone

//第三步:重寫

allocwithzone方法

}return

nil; }

- (id) copywithzone:(

nszone

*)zone

//第四步

@end

#import

"viewcontroller.h"

#import

"nextviewcontroller.h"

#import

"single.h"

@inte***ce

viewcontroller()

- (ibaction

)buttonclick:(

id)sender;

@end

@implementation

viewcontroller

- (void

)viewdidload

- (ibaction

)buttonclick:(

id)sender ]; }

單例設計模式(餓漢單例設計模式 懶漢單例設計模式)

1.什麼是單例 單例的意思是乙個類永遠只存在乙個物件,不能建立多個物件。2.為什麼要用單例 開發中有很多的物件我們只需要乙個,例如虛擬機器物件,任務管理器物件 物件越多越佔記憶體,有時候只需要乙個物件就可以實現業務,單例可以節省記憶體空間。3.如何實現單例 單例的實現方式有 餓漢單例設計模式 通過類...

設計模式 單例設計模式

歷史 最早是建築學領域的模式,然後gof四人由其引申到編碼方面,總結了23種設計模式 設計模式 解決某一類事情最行之有效的方法 2.1 體現 餓漢式,保證物件的唯一性 class singleton 私有化建構函式禁止該類建立物件 private static singleton st new si...

設計模式 單例設計模式

單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項。即乙個類只有乙個物件例項 單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。單例設計模式 解決的問題 可以保...