將單利進行宏定義

廢話不多說,直接上代碼,創(chuàng)建一個繼承于NSObject的類Singleton
在Singleton.h文件中代碼如下

#import <Foundation/Foundation.h>

//.h文件
#define SingletonH  + (instancetype)sharedInstance;


//加上斜杠是為了讓編輯器認為下一行代碼也是宏的內(nèi)容
//.m文件
#define SingletonM \
static id _instance;\
\
+ (instancetype)sharedInstance\
{\
static dispatch_once_t onceToken;\
dispatch_once(&onceToken, ^{\
_instance = [[self alloc]init];\
});\
return _instance;\
}\
\
+ (instancetype)allocWithZone:(struct _NSZone *)zone\
{\
static dispatch_once_t onceToken;\
dispatch_once(&onceToken, ^{\
_instance = [super allocWithZone:zone];\
});\
return _instance;\
}\
\
- (id)copyWithZone:(NSZone *)zone\
{\
return _instance;\
}

在Singleton.m文件中什么都不用寫,只剩下一個這東西

#import "Singleton.h"

定義好了單利宏,接下來看下使用
創(chuàng)建一個SingletonView,繼承于UIView類
在SingletonView.h文件中代碼如下

#import <UIKit/UIKit.h>
#import "Singleton.h"

@interface SingletonView : UIView
SingletonH;
@end

在SingletonView.m文件中代碼如下

#import "SingletonView.h"

@implementation SingletonView
SingletonM;
@end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,614評論 30 472
  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 2,047評論 0 9
  • 1.OC里用到集合類是什么? 基本類型為:NSArray,NSSet以及NSDictionary 可變類型為:NS...
    輕皺眉頭淺憂思閱讀 1,476評論 0 3
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,671評論 18 399
  • 暗時間簡單的說就是思維的時間,也就是沒有產(chǎn)生直接成果的時間。一個人走路、買菜、洗臉洗手、坐公車、逛街、出游、吃飯、...
    不愛下雨天閱讀 338評論 0 0

友情鏈接更多精彩內(nèi)容