NSCopying简析
简析
2023-09-14 08:57:16 时间
NSCopying简析
用到NSCopying的时候并不多,但还是有必要知道最基本的用途,比方说数组的拷贝操作,需要注意的是,数组的拷贝操作并不是执行了 copy 方法,而是需要执行 initWithArray:copyItems: ,这点需要注意.
源码:
// // Model.h // NSCopy // Created by YouXianMing on 15/5/2. // Copyright (c) 2015年 YouXianMing. All rights reserved. #import Foundation/Foundation.h @interface Model : NSObject NSCopying/* 继承NSCopying协议 */ // 对象类型 @property (nonatomic, strong) NSString *name; @property (nonatomic, strong) NSNumber *age; // 基本数据类型 @property (nonatomic, assign) BOOL isMale; @end
// // Model.m // NSCopy // Created by YouXianMing on 15/5/2. // Copyright (c) 2015年 YouXianMing. All rights reserved. #import "Model.h" @implementation Model - (id)copyWithZone:(NSZone *)zone { // 获取拷贝内容 Model *copy = [[[self class] allocWithZone:zone] init]; // 基本属性的类型本身实现了copy协议 copy.name = [_name copy]; copy.age = [_age copy]; // 常规类型属性仅仅需要赋值即可 copy.isMale = _isMale; return copy; @end
控制器源码:
// // ViewController.m // NSCopy // Created by YouXianMing on 15/5/2. // Copyright (c) 2015年 YouXianMing. All rights reserved. #import "ViewController.h" #import "Model.h" @interface ViewController () @implementation ViewController - (void)viewDidLoad { [super viewDidLoad];
// 数组的复制 NSArray *arrayCopy = [[NSArray alloc] initWithArray:array copyItems:YES];
图片加载框架之图片加载框架选型(一)上篇 阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680本篇文章将通过Universal-Image-Loader解析来阐述图片加载框架选型: 一、[Universal-Image-Loader解析基本介绍与使用] 基本...
图片加载框架之图片加载框架选型(一)下篇 阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680本篇文章将通过Picasso分析、Fresco的使用来阐述图片加载框架选型: 一、 Picasso分析 Picasso是Square公司开源的一个Android平...
带你读《ODL技术内幕:架构设计与实现原理》之一:阅读源代码前的准备 ODL不仅仅是一个SDN控制器平台,它还是一个优秀的模型驱动架构实现,以及一个典型的分布式系统设计范例。通过ODL,我们能学习的不仅仅是SDN,也能学到其通用的编程技术及软件架构设计,其分布式系统设计实现也非常值得我们借鉴。
相关文章
- PrintWriter用法简析
- 路径匹配之距离归并MD算法简析
- 写给大忙人的JavaSE8书后习题简析-第一章
- 玩转 Go 生态|Hertz WebSocket 扩展简析
- 简析CloudCompare文件夹之间的关系
- Java String 的 常量池 和 intern 方法 简析
- 数据库设计三大范式简析
- MySQL数据库连接:C语言版本简析(cmysql连接字符串)
- Oracle归档日志的生成与作用简析(oracle产生归档日志)
- Linux CA服务器搭建方法简析(linuxca服务器)
- Oracle数据库建模技巧与步骤简析(oracle数据库建模)
- Linux命令权限控制简析(linux命令执行权限)
- MySQL数据表删除字段操作方法简析(mysql中删除字段方式)
- MySQL三表联查及添加简析(mysql三表联查添加)
- mysql存储过程事务管理简析
- Oracle行级锁的特殊用法简析
- Oracle数据完整性和锁机制简析
- js中键盘事件实例简析