当前位置: 首页 > 编程笔记 >

ios 单利的完整使用实例 及销毁 宏定义

微生阳平
2023-03-14
本文向大家介绍ios 单利的完整使用实例 及销毁 宏定义,包括了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 单利的完整使用实例 及销毁 宏定义就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 我试图删除一个对象(在这种情况下,和一个水果类的实例),当它与我的蛇的头相交。问题是,当它检测到一个水果对象时,似乎没有做任何事情。我不知道我是否没有正确实现删除函数,或者这可能与我如何将对象馈送到函数有关。 下面是处理游戏功能的main.py脚本的一部分: 以下是当头位于Fruit对象的相同位置时执行的函数: 如果我添加一个语句在下,它执行没有问题。问题是什么都不做。

  • 主要内容:PHP - 在表单中确保输入值,PHP - 完整表单实例,实例本章节将介绍如何让用户在点击"提交(submit)"按钮提交数据前保证所有字段正确输入。 PHP - 在表单中确保输入值 在用户点击提交按钮后,为确保字段值是否输入正确,我们在HTML的input元素中插添加PHP脚本, 各字段名为: name, email, 和 website。 在备注中的 textarea 字段中,我们将脚本放于 <textarea> 和 </textarea> 标签之间。

  • 完整的利用链 至此,我们已经讨论了很多方面来说明如何远程漏洞利用这辆吉普和类似的车型。目前为止,这些信息已经足够你实现完整的漏洞利用,但是我们想要总结一下漏洞链是如何自始至终发挥作用的。 识别目标 你需要车辆的IP地址。你可以随便选择一个或写一个蠕虫来入侵所有的车辆。如果你知道汽车的VIN或GPS,你可以根据你所了解的车辆停留位置来扫描其IP范围,直到发现对应的VIN或GPS。由于Sprint网络

  • 本文向大家介绍jQuery使用$.ajax提交表单完整实例,包括了jQuery使用$.ajax提交表单完整实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery使用$.ajax提交表单的方法。分享给大家供大家参考,具体如下: 首先,新建Login.html页面: 然后,新建Login.aspx,接收并处理数据: 希望本文所述对大家jQuery程序设计有所帮助。

  • 本文向大家介绍js实现简单实用的AJAX完整实例,包括了js实现简单实用的AJAX完整实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现简单实用的AJAX的方法。分享给大家供大家参考,具体如下: 更多关于ajax相关内容感兴趣的读者可查看本站专题:《JavaScript中ajax操作技巧总结》及《jquery中Ajax用法总结》 希望本文所述对大家ajax程序设计有所帮助。

  • vue3 接口pending 的时候,切换路由,理论当前实例会被销毁,autoUpdate 变量 和 visible 变量都不存在了,但是打印出来仍然存在。导致离开页面了,定时器还在执行。 关键点在,路由已经切换了 if (autoUpdateCheck.value && visibility.value === 'visible') 这个条件依然成立,导致定时器执行 1.组件实例为什么没有销毁