【Objective-C学习记录】第三十天

类簇

类簇是Foundation框架中广泛使用的设计模式。类簇将一些私有的、具体的子类组合在一个公共的、抽象的超类下面,以这种方法来组织类可以简化一个面向对象框架的公开架构,而又不减少功能的丰富性。

类簇是一群隐藏在通用接口下的与实现相关的类,使得我们编写的代码可以独立于底层实现。如创建NSString对象时,得到的可能是NSLiteralString,NSCFString等,即不同的NSString对象调用同一个接口A,接口A的实现可能是不同的。

NSDate类

NSDate是Foundation框架中表示日期的类,用于获取当前时间,打印信息中包含:年月日、时分秒、零时区时间、时区。注意一定是零时区时间!

常用方法:

1.dateWithTimeInterval: sinceDate:。第一个参数是一个浮点数,表示秒数,第二个参数是一个NSDate类型的变量,该方法会返回一个NSDate对象,其值就是第二个参数表示的时间加上秒数得到的时间。比如实例化了一个NSDate对象表示现在时间,第一个参数填24*60*60(一天的秒数),即会得到明天的此时的NSDate变量。

2.timeIntervalSinceDate:。参数为NSDate类型,返回一个NSTimeInterval(double)类型的浮点数,表示从参数给定的时间到现在总共过去了多少秒。

3.timeIntervalSince1970:。表示从1970年1月1号起过去了多少秒(1970年1月1号是UNIX诞生的时间)。

NSDateFormatter类

NSDateFormatter类是日期格式类,作用是将NSDate对象与NSString对象互转。

常用方法:

1.setDateFormat:。设置日期显示的格式,如:@"yyyy-MM-dd HH:mm:ss"。

2.stringFromDate:。将日期对象转换为字符串对象。

3.dateFromString:。将字符串对象转换为日期对象。

类目(Category)

特点:

1.类目为系统内部的类或者是没有源代码的类添加方法,不能添加实例变量

2.添加的方法会成为原类的一部分,子类照样可以使用

3.类目的文件名位原类名+文件名

4.既可以添加实例方法也可以添加类方法

比如给NSArray类添加一个排序的方法,这样每个NSArray的对象都可以直接执行该排序方法。

延展(Extension)

特点:

1.延展是为 自定义的类扩展 功能而出现的

2.在类的.m文件上方,使用@interface关键字,构建延展

3.在延展中,我们既可以声明方法,也可以声明实例变量或者属性

4.新添加的内容属于本类的私有部分

协议(Protocol)

原文地址:https://www.cnblogs.com/shvier/p/5092625.html