迭代器,值对象,日期集合

1.迭代器
(1)
NSArray *arr=@[@”1”,@”2”,@”3”,@”4”];
NSEnumerator *enumerator=[arr objectEnumerator];
NSString *str=nil;
while (str=[enumerator nextObject]) {
NSLog(@”%@”,str);
}
2015-07-23 17:26:46.004 OC07_NSDate[4621:303] 1
2015-07-23 17:26:46.021 OC07_NSDate[4621:303] 2
2015-07-23 17:26:46.022 OC07_NSDate[4621:303] 3
2015-07-23 17:26:46.022 OC07_NSDate[4621:303] 4
(2)打印的字典的value
NSDictionary *dic=@{@”1”:@”2”,@”3”:@”4”,@”5”:@”6”};
NSEnumerator *enu=[dic objectEnumerator];
NSString *str1=nil;
while (str1=[enu nextObject]) {
NSLog(@”%@”,str1);
}
2015-07-23 17:28:11.405 OC07_NSDate[4634:303] 2
2015-07-23 17:28:11.421 OC07_NSDate[4634:303] 4
2015-07-23 17:28:11.422 OC07_NSDate[4634:303] 6
2.值对象
// 把基本数据类型装换成对象类型 // Integer->NSNumber
NSInteger a=10;
NSNumber *num=[[NSNumber alloc] initWithInteger:a];
NSLog(@”%@”,num);
NSInteger b=[num integerValue];
NSLog(@”%ld”,b);
2015-07-23 17:30:14.999 OC07_NSDate[4660:303] 10
2015-07-23 17:30:15.009 OC07_NSDate[4660:303] 10
3.字面量
NSNumber *num1=@10;
NSArray *arr=@[@”1”,@10];
4.NSValue
// 把结构体和指针换成对象类型
// 结构体的.是访问成员变量,对象调用属性是点语法
(1)
NSRange range={3,7};
NSLog(@”%ld”,range.length);
2015-07-23 17:32:34.151 OC07_NSDate[4682:303] 7
(2)NSRange->NSValue
NSValue *value=[NSValue valueWithRange:range];
NSLog(@”%@”,value);
2015-07-23 17:32:34.165 OC07_NSDate[4682:303] NSRange: {3, 7}
(3)NSValue->NSRange
NSRange rangeV=[value rangeValue];
2015-07-23 17:34:43.573 OC07_NSDate[4740:303] 3
(4)指针->NSValue
int a=10;
int *p=&a;
NSValue *pointer=[NSValue valueWithPointer:p];
(5)NSValue->指针
int *p1=[pointer pointerValue];
5.NSSet 集合
// NSSet 是无序的
// NSSet不能有重复的元素
// 集合里的元素,必须是对象类型
NSSet *set=[NSSet setWithObjects:@”1”,@”2”,@”3”,@”4”,@”5”,@”2”, nil];
NSLog(@”%@”,set);
2015-07-23 17:37:42.736 OC07_NSDate[4810:303] {(
3,
1,
4,
2,
5
)}
NSLog(@”%ld”,set.count);
2015-07-23 17:37:42.752 OC07_NSDate[4810:303] 5
// 返回其中的某一个元素
NSLog(@”%@”,[set anyObject]);
2015-07-23 17:37:42.752 OC07_NSDate[4810:303] 3
// 容纳元素的个数
NSLog(@”%d”,[set containsObject:@”3”]);
2015-07-23 17:37:42.753 OC07_NSDate[4810:303] 1
6.可变的集合
NSMutableSet *set=[NSMutableSet setWithObjects:@”1”,@”2”,@”3”,@”4”,@”5”, nil];
NSLog(@”%@”,set);
2015-07-23 17:41:29.083 OC07_NSDate[4865:303] {(
3,
1,
4,
2,
5
)}
(1)添加元素
[set addObject:@”6”];
NSLog(@”%@”,set);
2015-07-23 17:41:29.106 OC07_NSDate[4865:303] {(
3,
1,
6,
4,
2,
5
)}
(2)删除元素
[set removeObject:@”1”];
NSLog(@”%@”,set);
2015-07-23 17:41:29.106 OC07_NSDate[4865:303] {(
3,
6,
4,
2,
5
)}
(3)用forin进行遍历
for (NSString *str in set) {
NSLog(@”%@”,str);
}
2015-07-23 17:41:29.107 OC07_NSDate[4865:303] 3
2015-07-23 17:41:29.107 OC07_NSDate[4865:303] 6
2015-07-23 17:41:29.108 OC07_NSDate[4865:303] 4
2015-07-23 17:41:29.108 OC07_NSDate[4865:303] 2
2015-07-23 17:41:29.108 OC07_NSDate[4865:303] 5
7.NSDate是一个日期的类
(1)
// +date获取的时间无论在哪个区,都是打印相对应的零时区的时间
NSDate *date=[NSDate date];
NSLog(@”%@”,date);
2015-07-23 17:45:39.870 OC07_NSDate[4899:303] 2015-07-23 09:45:39 +0000
(2)获取一下当前所在的时区
NSTimeZone *zone=[NSTimeZone systemTimeZone];
NSLog(@”%@”,zone);
2015-07-23 17:45:39.986 OC07_NSDate[4899:303] Asia/Shanghai (GMT+8) offset 28800
(3)获取一下和0时区相差的秒数
NSInteger seconds=[zone secondsFromGMTForDate:date];
NSLog(@”%ld”,seconds);
2015-07-23 17:47:56.381 OC07_NSDate[4923:303] 28800
(4)通过相差的秒数,能获得到现在的时间
NSDate *localDate=[NSDate dateWithTimeIntervalSinceNow:seconds];
NSLog(@”%@”,localDate);
2015-07-23 17:48:55.694 OC07_NSDate[4935:303] 2015-07-23 17:48:55 +0000
8.一个明天这个时候的时间
NSDate *tomorrowDate=[NSDate dateWithTimeIntervalSinceNow:(32*3600)];
NSLog(@”%@”,tomorrowDate);
2015-07-23 17:50:20.591 OC07_NSDate[4960:303] 2015-07-24 17:50:20 +0000
9.时间间隔
// 对应的double类型
// 计算两个对象的时间间隔
NSDate *date=[NSDate date];
NSDate *tomorrowDate=[NSDate dateWithTimeIntervalSinceNow:(32*3600)];
NSTimeInterval interval=[tomorrowDate timeIntervalSinceDate:date];
NSLog(@”%g”,interval);
2015-07-23 17:52:12.356 OC07_NSDate[5002:303] 115200
10.把日期和字符串的一个相互的转换
// NSDate->NSString
(1)第一种方式
NSDate *date=[NSDate date];
NSString *dateStr=[NSString stringWithFormat:@”%@”,date];
NSLog(@”%@”,dateStr);
2015-07-23 17:53:27.952 OC07_NSDate[5028:303] 2015-07-23 09:53:27 +0000
(2)第二种方式:时间的格式
// yyyy-MM-dd HH-mm-ss
// y 年
// M 月
// d 日
// H 24小时制 h 12小时制
// m 分 s 秒

// 先设置一下时间的格式,要转换的时间要和格式相吻合
NSDateFormatter *formatter=[[NSDateFormatter alloc] init];
[formatter setDateFormat:@”yyyy-MM-dd HH-mm-ss”];
NSDate *date=[NSDate date];
// 通过格式,把指定的时间直接转换成NSString
// 通过这种格式,系统还会把时间切换成当前的时间
NSString *strDate=[formatter stringFromDate:date];
NSLog(@”%@”,strDate);
2015-07-23 17:55:29.811 OC07_NSDate[5046:303] 2015-07-23 17-55-29
(3)字符串->NSDate
// 把时间又减去8小时
NSDateFormatter *formatter=[[NSDateFormatter alloc] init];
[formatter setDateFormat:@”yyyy-MM-dd HH-mm-ss”];

NSString *timeStr=@”2015-7-23 17-19-10”;
NSDate *date=[formatter dateFromString:timeStr];
NSLog(@”%@”,date);
2015-07-23 17:57:02.766 OC07_NSDate[5069:303] 2015-07-23 09:19:10 +0000

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章