国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

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

2019-10-21 18:42:28
字體:
來源:轉載
供稿:網友

如下所示:

//下面這段宏考過去直接用#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 YNHTUserModelSYNTHESIZE_SINGLETON_FOR_CLASS(YNHTUserModel);@end

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


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 咸丰县| 济源市| 和平县| 东丰县| 长子县| 湄潭县| 武隆县| 潜江市| 昌江| 颍上县| 白城市| 达拉特旗| 宜章县| 洪雅县| 马山县| 安陆市| 新乡市| 嫩江县| 临江市| 年辖:市辖区| 铁岭市| 楚雄市| 惠安县| 当雄县| 海门市| 银川市| 兴化市| 彰武县| 澄江县| 金华市| 禹城市| 古蔺县| 蒲江县| 彭泽县| 汪清县| 尼木县| 华宁县| 红河县| 揭西县| 开平市| 遵义市|