OC第七天之 日期类 类的延展

日期类:NSDate 系统中表示时间日期的类
系统直接打印的话,打印出来的 是格林威治时间(0时区) 不是电脑上现在的时间
不是将日期类对象直接创建成0时区 而是由于NSDate的描述的方法 默认打印0时区

距离现在n秒之后的日期
NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow: 3600]; // 距离现在3600后的时间
如果是这个时间之前的就加一个负号
除了这个还有两个: 一个是从1970年后 还有一个是从21世纪开始

时间间隔的类 NSTimeInterval(返回double型) fes )绝对值方法
[date1 timeIntervalSinceDate:date2];

NSDateFormatter 日期格式化类 继承一个抽象类
抽象类的特点:抽象类本身 不实现什么功能 具体功能由子类实现
可以通过NSDateFormatter 将NSDate类 与 NSString 相互转化
日期格式: y-年 M-月 d-日 H-时 h-时(12小时制 分上下午) m- 分 s-秒
setDateFormat 方法 设置输出格式
stringFromDate date转换成string
dateFromString string转换成date
不过上面输出日期类的时候还是会出事0时区的时间
所以需要设置时区进行改变
系统时区类 NSTimeZone

类的扩展 : category(类目) extension(延展) protocol(协议)
category 特点: 可以给看不到实现的系统类 添加方法 并且添加的方法 使用的对象或者类名 直接就可以调用
1.切记:只能添加方法 不能添加实例变量
2.类目中添加的方法 相当于直接添加到系统类中,是可以被继承的

这里写图片描述

Extension
extension的主要作用是管理类的”私有”方法
只有.h文件
延展中可以写 实例变量和方法声明
并且是 私有的实例变量 和方法声明
延展特点:
1.声明是私有的方法 和 实例变量
2.一定要给有源代码的类 创建延展 要不毫无意义
3.并且声明的私有方法 需要取原类的.m文件中实现

这里写图片描述

使用协议代理的步骤
注意:先创建协议
1.遵守协议
2.实现协议中的方法
3.添加代理对象为实例变量(谁需要代理 就跟那个类型声明实例变量)
4.添加设置代理对象的方法(set方法)
5.让代理去干活(让代理去调用协议中的方法)
6.从main中创建对象 设置代理对象

如何遵守协议?
用尖括号<要遵守的协议>
协议中 声明的是协议方法
如果没有明确的要求 默认协议中的方法是都要实现的
必须要实现的关键字:@required
可以选择实现的关键字: @optional

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值