• 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了解到这里就差不多了。

  • 相关阅读:
    WIKI 配置参数
    SSH远程错误或者登录解决方法
    Mysql my.conf配置说明
    Mysql 常用命令
    Nginx 开机启动
    排序的总结
    strcpy函数实现(转载)
    函数指针传递
    地址的强制转换
    结构体内存对齐
  • 原文地址:https://www.cnblogs.com/weicyNo-1/p/9223342.html
Copyright © 2020-2023  润新知