iOS---学习研究大牛Git高星项目YYCategories(四)
今天开始研究YYCategories的Foundation扩展类。
它包含了作者对14个Foundation框架的扩展。在详细研究每一个扩展类前我发现了一个小知识点。
NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END。
两个宏中间包含的属性,参数值,返回值,默认是 nonnull
类型.
如果想要某个属性,参数值或者返回值为可选类型,则单独在该属性,参数值,或者返回值前单独标明nullable
.
下面开始说一下每一个扩展类的功能,具体原理怎么实现的就自己看代码吧。毕竟代码写的很详细了。
一、UIKit类
1.UIDevice+YYAdd 不常用有的都已近老了
2.UIScrollView+YYAdd 添加滑动到指定边界
3.UIGestureRecognizer+YYAdd 功能强大 但是长按需要设置一下 否则长按多次 而且常用的也就是点击和长按
4.UIColor+YYAdd 功能强大 但是一些东西不常用。用的多的是根据十六位进制生成颜色
5.UIFont+YYAdd 感觉用不到
6.UIBezierPath+YYAdd 用不到
7.UITextField+YYAdd 两个方法使用不了
8.UIBarButtonItem+YYAdd 不会用
9.UIImage+YYAdd
首先是一个加载动态图的方法、一个通过PDF获取图片的方法、一个通过emoji得到图片的方法、通过颜色获取图片的方法。
然后是一些修改图片的方法 这些在普通开发中不常用。只有在美颜相机中会遇到 不予考虑。
10.UIScreen+YYAdd 不常用有的都已近老了
11.UIApplication+WCYAdd.h 主要是一些属性提取出来很简单 自己看看就知道了
12.UIControl+YYAdd 主要是为UIbutton的父类UIcontrol做一些扩展。
13.UITableView+YYAdd 对系统的插入删除等方法进行了封装。
14.UIView+YYAdd 这个类首先是两个截屏功能,截屏转化pdf,移除子视图,坐标装换功能。
二、Foundation
1.NSArray+YYAdd
这个类前面对NSArray进行了扩展,可以从plist中得到数组
后面对NSMutableArray进行了扩展,可以从plist中得到数组。移除第一个最后一个数组。在开始或结尾或任意位置添加一个或多个元素。倒序输出数组等方法。
2.NSBundle+YYAdd 这个类我感觉功能不大,用不到
3.NSDate+YYAdd
主要是把时间的一些属性提取出来。并对时间进行了一些处理。
4.NSKeyedUnarchiver+YYAdd 归档解归档 这一块我用得少 就不做评价了
5.NSNumber+YYAdd 就讲了一个方法 字符串转化为NSNumber
6.NSObject+YYAddForARC 重新定义了一些arc方法
7.NSDictionary+YYAdd
首先是NSDictionary的扩展,先写了几个方法从plist中生成字典和转化plist。
然后是一个把字典key排序后输出为数组的方法,然后还有一个从xml中生成字典的方法。判断字典是否含有某个key的方法。爱人牛还设置了一些getter value的方法
下面是NSMutableDictionary的扩展,方法和上面的差不多。但是添加了两个修改方法。
8.NSNotificationCenter+YYAdd
这个类功能强大 新增了几个发通知的方法。可详细看看代码
9.NSObject+YYAddForKVO
这个类主要是对kvo的方法新添了个观察方法。
10.NSThread+YYAdd 添加了一个自动释放池
11.NSObject+YYAdd 这一块以后在了解。平时感觉用不到
12.NSTimer+YYAdd 为NSTimer新增两个方法。注释写的很清楚
13.NSString+YYAdd 主要是对字符串进行了加密处理。
14.NSData+YYAdd 主要是对数据进行了加密处理。
三、Quartz
1.CALayer+YYAdd YYCGUtilities这两个类平时用不到。
YYCategories了解到这里就差不多了。
转载于:https://www.cnblogs.com/weicyNo-1/p/9223342.html
iOS---学习研究大牛Git高星项目YYCategories(四)相关推荐
- iOS---学习研究大牛Git高星项目YYCategories(二)
转载请注明出处. 本文是接着上一篇博客iOS---学习研究大牛Git高星项目YYCategories(一) 三.YYCategoriesMacro.h 一个宏定义类,我会把这一块的功能说一下. tip ...
- iOS---学习研究大牛Git高星项目YYCategories(三)
转载请注明出处!!! 本文是接着上一篇博客iOS---学习研究大牛Git高星项目YYCategories(二) 大神果真是大神,一个简单的宏定义类,就有如此多的需要注意的地方.在一篇文章中写篇幅过长就 ...
- iOS---学习研究大牛Git高星项目YYCategories(一)
转载请注明出处!!! 进行iOS开发已经很久了,但是一直没有静下心研究Git上一些大神写的优秀工程.现在下定决心开始从零开始,仔细研读并敲写一遍大神工程.首先我准备研究的是 ibireme 大神的Y ...
- 出处大神git_iOS---学习研究大牛Git高星项目YYCategories(一)
进行iOS开发已经很久了,但是一直没有静下心研究Git上一些大神写的优秀工程.现在下定决心开始从零开始,仔细研读并敲写一遍大神工程.首先我准备研究的是 ibireme 大神的YYKit工程.这个工程比 ...
- 年度盘点!必看AI顶会论文、Github高星项目大合集(附链接)
目前,国外计算机界评价学术水平主要是看在顶级学术会议上发表的论文,特别是在机器学习.计算机视觉和人工智能领域,顶级会议才是王道.本期我们盘点了2019年人工智能领域的顶会,如最核心的顶会AAAI.IJ ...
- 独家 | 年度盘点!必看AI顶会论文、Github高星项目大合集(附链接)
目前,国外计算机界评价学术水平主要是看在顶级学术会议上发表的论文,特别是在机器学习.计算机视觉和人工智能领域,顶级会议才是王道.本期我们盘点了2019年人工智能领域的顶会,如最核心的顶会AAAI.IJ ...
- Git学习系列之Git基本操作提交项目(图文详解)
前面博客 Git学习系列之Git基本操作克隆项目(图文详解) 然后可以 cd 切换到 LispGentleIntro 目录, 新增或者修改某些文件.这里只是模拟一下操作, 实际情况可能是 使用 Ecl ...
- 过万 star 高星项目的秘密——GitHub 热点速览 Vol.39
作者:HelloGitHub-小鱼干 虽然国外十一并不过国庆,但是本周的 GitHub 也稍显疲软,GitHub 周榜的获 star 超过 1k 的项目寥寥无几,本周新开源的项目更是屈指可数.用 C ...
- Git学习系列之Git基本操作克隆项目(图文详解)
不多说,直接上干货! 想必,能进来看我写的这篇博文的朋友,肯定是了解过. 比如SVN的操作吧,最常见的是 检出(Check out ...), 更新 (Update ...), 以及 提交(Commi ...
最新文章
- 爱奇艺效果广告的个性化探索与实践
- System Center 2012 R2 CM系列之Configuration Manager介绍
- Jenkins + OSChina CI 最简
- 设置宿舍路由器为多账号登录的方法
- 【实战】使用pyecharts绘制词云图-淘宝商品评论展示
- ORACLE 10G以后的ORDER BY操作优化
- cookie 跨域问题
- 第三次学JAVA再学不好就吃翔(part117)--单例设计模式
- leetcode——面试题 17.10. 主要元素
- [笔记]极大极小过程的alpha-beta剪枝不可与记忆化搜索一起使用
- int mysql_「MYSQL」MYSQL中的int(11)到底代表什么意思?
- Springcloud实战(五)微服务网关
- vscode开发python使用教程_VSCode 支持Python
- 签到界面加图片java_签到功能实现,没有你想的那么复杂(二)
- 一文说清 Linux System Load
- 计算机工程好发论文么,计算机工程期刊发表论文有什么要求
- Python操作excel基础
- 关于SVN提交不成功问题
- 东北地区博友链接集合(陆续增加中)
- ubuntu20下安装nginx插件geoip2查询ip信息
热门文章
- kubelet参数解释about kubelet gc image and evict pod.
- 姬魔恋战纪服务器维护,姬魔恋战纪闪退、进不去、黑屏不能玩的原因和解决办法[图]...
- 数据库实验-触发器实验
- AltiumDesigner覆铜挖空技巧总结
- 军犬舆情每日热点:天津成立联合调查组进驻权健集团;瑞幸咖啡巨亏8亿
- FilterChain 过滤器链和拦截路径
- codeforces 546B Soldier and Badges
- 云计算机的云是指什么,云计算的“云”指的是什么?
- 床长人工智能教程 - 神经网络是如何进行预测的?
- 北京市2012年职工平均月工资5223元