寫單例,看完這個就夠了

2021-07-13 02:39:35 字數 856 閱讀 9247

單例模式的作用可以保證在程式執行過程,乙個類只有乙個例項,而且該例項易於供外界訪問,從而方便地控制了例項個數,並節約系統資源。單例模式在arc\mrc環境下的寫法有所不同,需要編寫2套不同的代**,因為作者在寫此部落格的時候,mrc已經非常少用了,所以這裡只提供了在arc模式下的單例書寫方式。下面直接上**;

person.m中的實現

static person *_person;

//static關鍵字的作用有兩個,顯然在此的作用是下面作用的第乙個。

//static作用於變數時,該變數只會定義一次,以後在使用時不會重新定義,當static作用於全域性變數時說明該變數只能在當前檔案可以訪問,其他檔案中不能訪問;

//static作用於函式時與作用於全域性變數類似,表示宣告或定義該函式是內部函式(又叫靜態函式),在該函式所在檔案外的其他檔案中無法訪問此函式;

//當使用者使用alloc init方法建立實體類是,也可以保證所建立的事例物件是同乙個。

+ (instancetype)allocwithzone:(struct _nszone *)zone

); return _person;

}//用類方法建立類的實體,方便外界使用。

+ (instancetype)sharedperson

); return _person;

}//重寫copywithzone方法,可以保證使用者在使用copy關鍵字時,建立的類的例項是同乙個。

- (id)copywithzone:(nszone *)zone

當然person.h中需要

+ (instancetype)sharedperson;介面。

資料庫觸發器使用詳解,看完這個就夠了!

if object id tr orders insert tr is not null drop trigger tr orders insert go create or replace trigger ud trigger before insert or update on emplyq11...

面試之MySQL看這個就夠了

關於二者的對比與總結 1.count運算上的區別 因為myisam有快取表meta data 行數等 因此在做count 時對於乙個結構很好的查詢是不需要消耗多少資源的。而對於innodb來說,則沒有這種快取。2.是否支援事務和崩潰後的安全恢復 myisam 強調的是效能,每次查詢具有原子性,其執行...

還不懂Redis?看完這個故事就明白了!

你好,我是redis,乙個叫antirez的男人把我帶到了這個世界上。說起我的誕生,跟關聯式資料庫mysql還挺有淵源的。在我還沒來到這個世界上的時候,mysql過的很辛苦,網際網路發展的越來越快,它容納的資料也越來越多,使用者請求也隨之暴漲,而每乙個使用者請求都變成了對它的乙個又乙個讀寫操作,my...