您的位置:首页 > 其它

OC的当中常用的类

2015-07-23 19:53 323 查看
值对象

作用:把基本数据类型转换成对象类型

指令:NSInteger a =10;

NSNumber *number = [[NSNumberalloc]initWithInteger:a];

NSNumber -> NSInteger
指令:NSInteger b = [number integerValue];
或者:NSNumber *num = @10;(字面量)

NSRange -> NSValue
先定义:NSRange range = {2, 5};
指令:NSValue *value = [NSValue valueWithRange:range];

NSValue -> NSRange
先定义:NSRange range = {2, 5};

指令:NSRange rangeV = [value rangeValue];
注意:结构体的"."是访问成员变量,对象调用属性"."是点语法

NSSet
注意:NSSet 输出是无序的,不能有重复的元素,集合里的元素,必须是对象类型

定义:NSSet *set = [[NSSet alloc] initWithObjects:@"1", @"2", @"3", @"4", @"5", @"2", nil];
或者:NSSet *set = [NSSet setWithObjects:@"1", @"2", @"3", @"4", @"5", @"2", nil];

NSSet常用的方法

判断该集合是否有10
指令:NSLog(@"%d", [set containsObject:@"10"]);

NSMutableSet(可变)

添加元素
指令:[set addObject:@"0"];

删除
指令:[set removeObject:@"0"]

把一个set2添加到set1中
指令:[set1
unionSet:set2];

用forin进行遍历
指令:for (NSString *str in set) {
NSLog(@"%@", str);}

NSDate(是一个日期的类)
定义:NSDate *date = [NSDate date];
注意:date获取的时间无论在哪个区,都是打印的相对的零时区的时间

获取一下当前所在的时区
指令:NSTimeZone *zone = [NSTimeZone systemTimeZone];

获取一下和0时区相差的秒数
指令:NSInteger seconds = [zone secondsFromGMTForDate:date];

通过相差的秒数,能获取到现在的时间
指令:NSDate *localDate = [NSDate dateWithTimeIntervalSinceNow:seconds];

明天这个时候的时间
指令:NSDate *tomorrowDate = [NSDate dateWithTimeIntervalSinceNow:32 * 3600];

计算两个时间对象的时间间隔
指令:NSTimeInterval interval = [tomorrowDate timeIntervalSinceDate:date];

把日期和字符串的一个互相的转化(NSDate -> NSString)
方法一:
指令:NSDate *date = [NSDate date];
NSString *dateStr = [NSString stringWithFormat:@"%@",date];
NSLog(@"%@", dateStr);

方法二
先设置一下时间的格式,要转换的时间要和格式相吻合
指令:NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"yyyy-MM-dd HH-mm-ss"];

NSDate *date = [NSDate date];

NSString *strDate = [formatter stringFromDate:date];
注意:yyyy年-mm月-dd日
HH时-mm分-ss秒
格式如此,切大小写不能改变

通过这种方式,系统还会把时间切换成当前的时间

字符串 -> NSDate
指令:NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSString *timeStr = @"2015-7-23 17:18:10";

NSDate *date = [formatter dateFromString:timeStr];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: