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

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

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