我是靠谱客的博主 乐观睫毛膏,最近开发中收集的这篇文章主要介绍ios 单利的完整使用实例 及销毁 宏定义,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

如下所示:

//下面这段宏考过去直接用
#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 单利的完整使用实例 及销毁 宏定义就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持靠谱客。

最后

以上就是乐观睫毛膏为你收集整理的ios 单利的完整使用实例 及销毁 宏定义的全部内容,希望文章能够帮你解决ios 单利的完整使用实例 及销毁 宏定义所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部