OC10_类的扩展
来源:互联网 发布:网络营销软件自动发帖 编辑:程序博客网 时间:2024/05/20 12:23
1.NSDate(日期) NSData(数据)(1).获取当前时间.NSDate *date = [NSDate date];// NSLog输出日期时,会打印相对应的零时区的时间NSLog(@"%@", date);
(2).获取任意时间.// NSTimeInterval 时间间隔 double类型.// NSTimeInterval 正 未来时间.// NSTimeInterval 负 过去时间.NSDate *anyDate = [NSDate dateWithTimeIntervalSinceNow:8 * 60 * 60]; // 打印的是零时区的时间.NSLog(@"%@", anyDate);
(3).获取时间间隔NSTimeInterval time = [date timeIntervalSinceDate:anyDate];NSLog(@"%.2f", time / 60 / 60);
(4).日期格式化转换器.// NSDateFormatterNSDateFormatter *f = [[[NSDateFormatter alloc] init] autorelease]; // y 年份 // M 月份 // d 日期 // H 小时 // m 分钟 // s 秒 // a AM, PM // z 时区 // G AD(公元)/BC(公元前) // E 星期 f.dateFormat = @"yyyy-MM-dd HH:mm:ss a z Gr EEEE";// date -> stringNSString *dateStr = [f stringFromDate:date];NSLog(@"%@", dateStr);
// string -> dateNSString *string = @"2015年9月10日 10时22分10秒";f.dateFormat = @"yyyy年MM月dd日 HH时mm分ss秒"; // HH必须大写,有的版本只有大写好使.NSDate *newDate = [f dateFromString:string];NSLog(@"%@", newDate);
2.类目(1).Category 类目/分类/类别作用:给系统的类额外添加方法(包括一般类和系统类).main.mNSMutableArray *array= [NSMutableArray array];[array addObject:@"a"];[array addObject:@"b"];[array addObject:@"c"];[array addObject:@"d"];for (NSInteger i = 0; i < array.count - 1; i++) { for (NSInteger j = 0; j < array.count - 1 - i; j++) { if ([array[j] compareDescending:array[j + 1]] == 1 ) { [array exchangeObjectAtIndex:j withObjectAtIndex:j + 1]; } }}NSLog(@"%@", array);
新建一个Person类Person.h// 接口#import <Foundation/Foundation.h>@interface Person : NSObject@property(nonatomic, retain)NSString *name;- (void)sayHi;@end// 类目 类名 类目名 // 类目的声明.@interface Person (AAA)- (void)printPerson;@endPerson.m#import "Person.h"@implementation Person(2).类目的实现@implementation Person (AAA)- (void)printPerson { // 类目中可以调用类的属性以及成员变量,还有方法 NSLog(@"%@", self.name);}@end类目,通常需要创建一对文件 .h 和 .m 用于给系统的类添加方法.延展,通常直接写在.m中新建一个类目文件,NSString + CoCo
NSString + CoCo.h#import <Foundation/Foundation.h>// 类目// 文件名: 类型名 + 类目名// 类目的方法相当于写在当前类中.// 当类目要重写类方法时 只会执行类目中的方法.// 类目中的方法优先级比较高.@interface NSString (CoCo)// 字符串降序的方法- (NSComparisonResult)compareDescending:(NSString *)string;@endNSString + CoCo.m#import "NSString+CoCo.h"@implementation NSString (CoCo)- (NSComparisonResult)compareDescending:(NSString *)string { // 降序方法 return -[self compare:string];}@end3.延展 (1).Extension 类的延展.作用:管理私有方法和属性.main.mPerson *person = [[Person alloc] init];person.name = @"heihei";私有属性 外部不能访问 只能在类内部使用;[person sayHi];新建一个Person类.person.h#import <Foundation/Foundation.h>@interface Person : NSObject@property(nonatomic, retain)NSString *name;@endperson.m#import "Person.h"// 延展 私有声明@interface Person ()@property(nonatomic, retain) NSString *sex; // 私有属性@property(nonatomic, assign) NSUInteger age;@property(nonatomic, retain) NSString *hobby;// 3.私有方法声明.- (void)Hello;@end@implementation Person// 私有方法实现.- (void)Hello { NSLog(@"你好!~");}- (void)sayHi { NSLog(@"卡卡"); // 在类的内部区调用私有方法. [self Hello];}@end
0 0
- OC10_类的扩展
- UIView的类扩展,扩展CGRect
- Math类的扩展
- CxSkinButton类的扩展
- 类的扩展
- 类的扩展
- OC 类的扩展
- 07 类的扩展
- OC----类的扩展
- 类的扩展
- UIColor类的扩展
- UI类的扩展
- 类的扩展
- 类的扩展
- C#类的扩展
- 类的扩展
- 类的扩展
- 类的扩展
- CSS温故第四天【框模型】
- Win8移动硬盘优盘安装Ubuntu 1404方法
- C语言中函数参数传递的三种方式
- 第2周项目2--程序的多文件组织
- ASP.NET Form Authentication - Membership Authentication
- OC10_类的扩展
- ubuntu nginx configure 需要额外安装的库
- 解放程序猿宝贵的右手(或者是左手) ——Android自动化测试技巧
- FastDFS文件名策略及对小文件的优化
- linux下svn常用命令
- 程序的多文件组织
- 第二周【项目2 - 程序的多文件组织】
- 工作周报059
- javaMail实现邮件发送