iOS入门(二十一)类的扩展
2015-08-11 16:35
337 查看
类的扩展
NSDate NSDateFormatter
NSTimeinterval 用以表示以秒为单位的时间间隔
// NSDate * date = [NSDate date];
// NSLog(@"%@" ,date );
// NSDate * nowDate = [[NSDate alloc]
initWithTimeIntervalSinceNow:60*60*8];
// NSLog(@"nowDate = %@ " ,nowDate);
// NSDate * meng = [[NSDate alloc] initWithTimeIntervalSinceNow:60*60*8-28*60*60*24*365+60*60*24*109];
// NSDate * yan = [[NSDate alloc]initWithTimeIntervalSinceNow:60*60*8-28*60*60*24*365+60*60*24*118];
// NSTimeInterval time = [yan timeIntervalSinceDate:meng];
// NSLog(@"%f" ,time/60/60/24);
// NSDate * me = [[NSDate alloc] initWithTimeIntervalSinceNow:60*60*8 -60*60*24*365*22];
// NSLog(@"%@", me);
// NSDate * tongzhuo = [[NSDate alloc] initWithTimeIntervalSinceNow:60*60*8 -60*60*24*365*22 -60*60*24*76];
// NSLog(@"%@" , tongzhuo);
// NSTimeInterval time1 = [me timeIntervalSinceDate:tongzhuo];
// NSLog(@"%f" , time1/60/60/24);
//
// NSDate * t = [[NSDate alloc] initWithTimeIntervalSinceNow:60*60*8-60*60*24*365*22-60*60*24*63];
// NSLog(@"%@" , t);
NSDateFormatter 日期格式类 主要功能是实现代表日期的NSString与NSDate之间的转换
// NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
// [formatter setDateFormat:@"yy-MM-dd HH : mm : ss "];
//// NSString * string = [formatter stringFromDate:[NSDate date]];
//// NSLog(@"%@", string);
// //改时区
// [formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
// NSString * dateStr = @"08-08-28 20 : 08 : 08";
// NSDate * date = [formatter dateFromString:dateStr];
// NSLog(@"%@" ,date);
// NSLog(@"%@" , [formatter stringFromDate:date]);
类目(分类)Category 为没有源代码的类添加方法 通过Gategory添加的方法会成为原类的一部分,从而达到扩展一个类的功能。
延展 Extension 为类添加“私有”的方法。管理仅仅内部使用的方法,与类目相似,但是把.h 文件移到.m 中编写
#import "Girl.h"
//@interface Girl ()
//-(void)sayHi;
//@end 把代码写到原始类的实现文件中
Protocol 协议
协议是一套标准(一堆方法的声明),只有.h文件
默认必须实现 @required @optional 可选实现
接受协议的对象 :(必须实现协议中定义的方法)
#import
#import "MarryProtocol.h"
@interface Man : NSObject
delegate设计模式 (代理)
指定代理 :(指定之后可以由代理完成相应的方法)
#import
#import "MarryProtocol.h"
@interface Girl : NSObject
{
id _husband;
}
-(void)setHusband:(id)husband;
NSDate NSDateFormatter
NSTimeinterval 用以表示以秒为单位的时间间隔
// NSDate * date = [NSDate date];
// NSLog(@"%@" ,date );
// NSDate * nowDate = [[NSDate alloc]
initWithTimeIntervalSinceNow:60*60*8];
// NSLog(@"nowDate = %@ " ,nowDate);
// NSDate * meng = [[NSDate alloc] initWithTimeIntervalSinceNow:60*60*8-28*60*60*24*365+60*60*24*109];
// NSDate * yan = [[NSDate alloc]initWithTimeIntervalSinceNow:60*60*8-28*60*60*24*365+60*60*24*118];
// NSTimeInterval time = [yan timeIntervalSinceDate:meng];
// NSLog(@"%f" ,time/60/60/24);
// NSDate * me = [[NSDate alloc] initWithTimeIntervalSinceNow:60*60*8 -60*60*24*365*22];
// NSLog(@"%@", me);
// NSDate * tongzhuo = [[NSDate alloc] initWithTimeIntervalSinceNow:60*60*8 -60*60*24*365*22 -60*60*24*76];
// NSLog(@"%@" , tongzhuo);
// NSTimeInterval time1 = [me timeIntervalSinceDate:tongzhuo];
// NSLog(@"%f" , time1/60/60/24);
//
// NSDate * t = [[NSDate alloc] initWithTimeIntervalSinceNow:60*60*8-60*60*24*365*22-60*60*24*63];
// NSLog(@"%@" , t);
NSDateFormatter 日期格式类 主要功能是实现代表日期的NSString与NSDate之间的转换
// NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
// [formatter setDateFormat:@"yy-MM-dd HH : mm : ss "];
//// NSString * string = [formatter stringFromDate:[NSDate date]];
//// NSLog(@"%@", string);
// //改时区
// [formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
// NSString * dateStr = @"08-08-28 20 : 08 : 08";
// NSDate * date = [formatter dateFromString:dateStr];
// NSLog(@"%@" ,date);
// NSLog(@"%@" , [formatter stringFromDate:date]);
类目(分类)Category 为没有源代码的类添加方法 通过Gategory添加的方法会成为原类的一部分,从而达到扩展一个类的功能。
延展 Extension 为类添加“私有”的方法。管理仅仅内部使用的方法,与类目相似,但是把.h 文件移到.m 中编写
#import "Girl.h"
//@interface Girl ()
//-(void)sayHi;
//@end 把代码写到原始类的实现文件中
Protocol 协议
协议是一套标准(一堆方法的声明),只有.h文件
默认必须实现 @required @optional 可选实现
接受协议的对象 :(必须实现协议中定义的方法)
#import
#import "MarryProtocol.h"
@interface Man : NSObject
delegate设计模式 (代理)
指定代理 :(指定之后可以由代理完成相应的方法)
#import
#import "MarryProtocol.h"
@interface Girl : NSObject
{
id _husband;
}
-(void)setHusband:(id)husband;
相关文章推荐
- iOS入门(二十)字典
- iOS研发之静态库的封装
- iOS入门(十九)NSString NSArray NSDictionary
- iOS入门(十八)OC中常用的几种传值方式
- iOS开发-- 使用NSNumber将int、float、long等数据类型加入到数组或字典中
- ios性能测试
- IOS--商品的添加与删除
- IOS--OHAttributedLabel
- 【iOS学习笔记】strong weak retain assign
- iOS 支付宝的集成与遇到的问题
- iOS 9应用开发教程之显示编辑文本标签文本框
- iOS中runtime运行机制解析
- IOS界面适配二: Auto Layout的使用(上)
- iOS入门(十七)继承
- 【原】iOS触摸事件深度解析
- iOS开发之GCD使用总结
- iOS入门(十六)实例变量可见度和方法
- iOS入门(十五)类和对象
- AFNetWork中断单个多个全部请求的方法
- iOS入门(十四)函数指针