实现NSCoping协议。如果自定义的对象分为可变版本与不可变版本,那么就要同时实现 NSCopying与 NSMutableCopying协议。 @protocol NSCopying - (id)copyWithZone:(nullable NSZone *)zone; @end @protoc ...
分类:
其他好文 时间:
2020-06-15 14:19:14
阅读次数:
66
SDWebImageNSCache类似可变字典,线程安全,使用可变字典自定义实现缓存时需要考虑加锁和释放锁在内存不足时NSCache会自动释放存储的对象,不需要手动干预NSCache的key不会被复制,所以key不需要实现NSCopying协议第三方框架网络1.PPNetworkHelper对AFN... ...
分类:
移动开发 时间:
2020-02-06 12:46:52
阅读次数:
97
如果想让自己的类具备copy方法,并返回不可变类型,必须遵循nscopying协议,并且实现- (id)copyWithZone:(NSZone *)zone;如果让自己的类具备mutableCopy方法,并且返回可变类型,必须遵守NSMutableCopying,并实现- (id)mutableC ...
分类:
其他好文 时间:
2019-03-14 19:58:47
阅读次数:
221
#import "XMGTool.h" static XMGTool * _instance;//静态变量保证了单例的唯一性,静态变量是程序一开始就存在的 @interface XMGTool ()<NSCopying, NSMutableCopying> @end @implementation ...
分类:
其他好文 时间:
2019-02-22 21:30:21
阅读次数:
154
2. 在.h 文件遵循 <NSCopying,NSMutabalecopying> ...
分类:
其他好文 时间:
2018-07-03 16:39:06
阅读次数:
127
1.NSCopying ————> - (id)copy; NSCopying是一个与对象拷贝有关的协议。如果想让一个类的对象支持拷贝,就需要让该类实现NSCopying协议。 NSCopying协议中的声明的方法只有一个- (id)copyWithZone:(NSZone *)zone。 当我们的 ...
分类:
Web程序 时间:
2018-03-30 21:47:46
阅读次数:
195
一,assign 代表设置时候直接赋值,而不是复制或者保留它。 二,retain. 会在赋值的时候把新值保留。此属性只能用于Object-C对象类型。 三,copy 在赋值时,将新值复制一份,复制工作由copy执行,此属性只对那些实行了NSCopying协议的对象类型有效。 参考资料:《iPhone ...
分类:
移动开发 时间:
2018-02-13 10:27:44
阅读次数:
144
一、runtime实现通用copy 如果自定义类的子类,模型套模型你真的会copy吗,小心有坑。 copy需要自定义类继承NSCopying协议 二、runtime实现通用归档解档 归档解档需要自定义类继承NSCoding协议 三、NSUserDefaults存储自定义对象 四、NSUserDefa ...
分类:
移动开发 时间:
2018-02-05 18:51:39
阅读次数:
347
#import #import #import NS_ASSUME_NONNULL_BEGIN typedef NS_OPTIONS(NSUInteger, UIRectCorner) { UIRectCornerTopLeft = 1 //初始化 + (instancetype)bezierPat... ...
分类:
移动开发 时间:
2017-10-26 15:24:32
阅读次数:
269
若想令自己缩写的对象具有拷贝功能, 则需要实现 NSCopying 协议, 如果自定义的对象分为可变版本与不可变版本, 那么就要同时实现 NSCopying 协议和 NSMutableCopying 协议 复制对象是需要决定采用浅拷贝还是深拷贝, 一般情况下采用浅拷贝, 如果你所写的对象需要深拷贝, ...
分类:
移动开发 时间:
2017-09-29 12:45:59
阅读次数:
255