今天开始研究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(四)相关推荐

  1. iOS---学习研究大牛Git高星项目YYCategories(二)

    转载请注明出处. 本文是接着上一篇博客iOS---学习研究大牛Git高星项目YYCategories(一) 三.YYCategoriesMacro.h 一个宏定义类,我会把这一块的功能说一下. tip ...

  2. iOS---学习研究大牛Git高星项目YYCategories(三)

    转载请注明出处!!! 本文是接着上一篇博客iOS---学习研究大牛Git高星项目YYCategories(二) 大神果真是大神,一个简单的宏定义类,就有如此多的需要注意的地方.在一篇文章中写篇幅过长就 ...

  3. iOS---学习研究大牛Git高星项目YYCategories(一)

    转载请注明出处!!!  进行iOS开发已经很久了,但是一直没有静下心研究Git上一些大神写的优秀工程.现在下定决心开始从零开始,仔细研读并敲写一遍大神工程.首先我准备研究的是 ibireme 大神的Y ...

  4. 出处大神git_iOS---学习研究大牛Git高星项目YYCategories(一)

    进行iOS开发已经很久了,但是一直没有静下心研究Git上一些大神写的优秀工程.现在下定决心开始从零开始,仔细研读并敲写一遍大神工程.首先我准备研究的是 ibireme 大神的YYKit工程.这个工程比 ...

  5. 年度盘点!必看AI顶会论文、Github高星项目大合集(附链接)

    目前,国外计算机界评价学术水平主要是看在顶级学术会议上发表的论文,特别是在机器学习.计算机视觉和人工智能领域,顶级会议才是王道.本期我们盘点了2019年人工智能领域的顶会,如最核心的顶会AAAI.IJ ...

  6. 独家 | 年度盘点!必看AI顶会论文、Github高星项目大合集(附链接)

    目前,国外计算机界评价学术水平主要是看在顶级学术会议上发表的论文,特别是在机器学习.计算机视觉和人工智能领域,顶级会议才是王道.本期我们盘点了2019年人工智能领域的顶会,如最核心的顶会AAAI.IJ ...

  7. Git学习系列之Git基本操作提交项目(图文详解)

    前面博客 Git学习系列之Git基本操作克隆项目(图文详解) 然后可以 cd 切换到 LispGentleIntro 目录, 新增或者修改某些文件.这里只是模拟一下操作, 实际情况可能是 使用 Ecl ...

  8. 过万 star 高星项目的秘密——GitHub 热点速览 Vol.39

    作者:HelloGitHub-小鱼干 虽然国外十一并不过国庆,但是本周的 GitHub 也稍显疲软,GitHub 周榜的获 star 超过 1k 的项目寥寥无几,本周新开源的项目更是屈指可数.用 C ...

  9. Git学习系列之Git基本操作克隆项目(图文详解)

    不多说,直接上干货! 想必,能进来看我写的这篇博文的朋友,肯定是了解过. 比如SVN的操作吧,最常见的是 检出(Check out ...), 更新 (Update ...), 以及 提交(Commi ...

最新文章

  1. 爱奇艺效果广告的个性化探索与实践
  2. System Center 2012 R2 CM系列之Configuration Manager介绍
  3. Jenkins + OSChina CI 最简
  4. 设置宿舍路由器为多账号登录的方法
  5. 【实战】使用pyecharts绘制词云图-淘宝商品评论展示
  6. ORACLE 10G以后的ORDER BY操作优化
  7. cookie 跨域问题
  8. 第三次学JAVA再学不好就吃翔(part117)--单例设计模式
  9. leetcode——面试题 17.10. 主要元素
  10. [笔记]极大极小过程的alpha-beta剪枝不可与记忆化搜索一起使用
  11. int mysql_「MYSQL」MYSQL中的int(11)到底代表什么意思?
  12. Springcloud实战(五)微服务网关
  13. vscode开发python使用教程_VSCode 支持Python
  14. 签到界面加图片java_签到功能实现,没有你想的那么复杂(二)
  15. 一文说清 Linux System Load
  16. 计算机工程好发论文么,计算机工程期刊发表论文有什么要求
  17. Python操作excel基础
  18. 关于SVN提交不成功问题
  19. 东北地区博友链接集合(陆续增加中)
  20. ubuntu20下安装nginx插件geoip2查询ip信息

热门文章

  1. kubelet参数解释about kubelet gc image and evict pod.
  2. 姬魔恋战纪服务器维护,姬魔恋战纪闪退、进不去、黑屏不能玩的原因和解决办法[图]...
  3. 数据库实验-触发器实验
  4. AltiumDesigner覆铜挖空技巧总结
  5. 军犬舆情每日热点:天津成立联合调查组进驻权健集团;瑞幸咖啡巨亏8亿
  6. FilterChain 过滤器链和拦截路径
  7. codeforces 546B Soldier and Badges
  8. 云计算机的云是指什么,云计算的“云”指的是什么?
  9. 床长人工智能教程 - 神经网络是如何进行预测的?
  10. 北京市2012年职工平均月工资5223元