中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ios 單利的完整使用實例 及銷毀 宏定義

發布時間:2020-08-22 21:26:17 來源:腳本之家 閱讀:268 作者:qq_20035785 欄目:移動開發

如下所示:

//下面這段宏考過去直接用
#define SYNTHESIZE_SINGLETON_FOR_HEADER(className) \
\
+ (className *)sharedInstance;\
+ (void)destroyInstance;
//在單例生成之前onceToken = 0,在單例生成之后onceToken = -1了,之后一直保持-1這個值,知道這個之后我想你應該有思路了
#define SYNTHESIZE_SINGLETON_FOR_CLASS(className) \
\
static className *shared##className = nil; \
static dispatch_once_t onceToken;\
+ (className *)sharedInstance\
{\
 return [[self alloc] init];\
}\
+ (className *)allocWithZone:(struct _NSZone *)zone\
{\
 dispatch_once(&onceToken, ^{\
  shared##className = [super allocWithZone:zone];\
 });\
 return shared##className;\
}\
- (className *)copyWithZone:(NSZone *)zone\
{\
 return shared##className;\
}\
- (className *)mutableCopyWithZone:(NSZone *)zone\
{\
 return shared##className;\
}\
+ (void)destroyInstance {\
 shared##className = nil;\
 onceToken = 0;\
}\
//用法,注意要遵循NSCopying,NSMutableCopying 協議
import <Foundation/Foundation.h>
@interface YNHTUserModel : NSObject<NSCopying,NSMutableCopying>
SYNTHESIZE_SINGLETON_FOR_HEADER(YNHTUserModel);
@property (nonatomic,copy) NSString* inviter_id;//邀請人ID
@property (nonatomic,copy) NSString* token;
@property (nonatomic,copy) NSString* nick_name;
@end
#import "YNHTUserModel.h"
@implementation YNHTUserModel
SYNTHESIZE_SINGLETON_FOR_CLASS(YNHTUserModel);

@end

以上這篇ios 單利的完整使用實例 及銷毀 宏定義就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

恩平市| 绥化市| 新河县| 嘉定区| 从化市| 五指山市| 巫山县| 罗源县| 阿巴嘎旗| 昌吉市| 龙州县| 武乡县| 银川市| 江都市| 彭山县| 东辽县| 祁门县| 隆安县| 乐业县| 绵竹市| 曲麻莱县| 孟连| 汾西县| 女性| 班玛县| 门源| 新郑市| 柘城县| 竹溪县| 洮南市| 宁夏| 清徐县| 丽江市| 武冈市| 敦化市| 康保县| 孟津县| 青海省| 莱阳市| 仁布县| 通化县|