// 迭代器
NSEnumerator *enumerator = [arr objectEnumerator];
NSString *str = nil;
// 数组遍历
while (str = [enumerator nextObject]) {
NSLog(@"%@", arr);
}
// 字典遍历
// 打印字典的value
NSEnumerator *enumerator = [dic objectEnumerator];
NSString *str = nil;
while (str = [enumerator nextObject]) {
NSLog(@"%@", str);
}
// 值对象
// 把基本数据类型转换成对象类型
// Integer -> NSNumber
NSInteger a = 10;
NSNumber *number = [[NSNumber alloc] initWithInteger:a];
NSLog(@"%@", number);
// NSNumber -> Integer
NSInteger b = [number integerValue];
// NSValue
// 把结构体和指针转换成对象类型
// 结构体的.是访问成员变量,对象调用属性是点语法
// NSRange -> NSValue
NSRange range = {2, 5};
NSLog(@"%ld", range.length);
NSValue *value = [NSValue valueWithRange:range];
NSLog(@"%@", value);
// NSValue -> NSRange
NSRange range2 = [value rangeValue];
// pointer -> NSValue
int a = 10;
int *p = &a;
NSValue *value2 = [NSValue valueWithPointer:p];
// NSValue -> pointer
int *p1 = [value pointerValue];
// 文件路径
// 解数据
NSString *path = @"/Users/lanou3g/Desktop/OC7_NSDate/OC7_NSDate/movielist.txt";
NSData *data = [NSData dataWithContentsOfFile:path];
NSMutableDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"%@", dic);
NSArray *arr = dic[@"result"];
NSLog(@"%@", arr);
NSDictionary *movieDic = arr[0];
NSLog(@"%@", movieDic);
NSString *str = movieDic[@"movieName"];
NSLog(@"%@", str);
NSString *movieName = dic[@"result"][0][@"movieName"];
NSLog(@"%@", movieName);
NSString *pic_url = dic[@"result"][0][@"pic_url"];
NSLog(@"%@", pic_url);
NSString *movieId = dic[@"result"][0][@"movieId"];
NSLog(@"%@", movieId);
// NSSet集合, 无序, 唯一, 元素必须是对象
NSSet *set = [NSSet setWithObjects:@"1", @"2", @"3", @"4", @"2",@"6", @"7", nil];
NSLog(@"%@", set);
NSLog(@"%ld",set.count);
NSLog(@"%@", [set anyObject]);
// 判断是否有3
NSLog(@"%d", [set containsObject:@"3"]);
// 普通方式创建集合
NSSet *set = [[NSSet alloc] initWithObjects:@"1", @"2", @"3", @"4", @"2",@"6", @"7", nil];
NSLog(@"%@", set);
// 可变集合
NSMutableSet *set = [NSMutableSet setWithObjects:@"1", @"2", @"3", @"4", @"2",@"6", @"7", nil];
// 添加元素
[set addObject:@"5"];
// 删除
[set removeObject:@"2"];
// NSDate
NSDate *date = [NSDate date];
NSLog(@"%@", date);
// date获取的时间无论哪个区,都是打印相对应的零时区的时间
// 获取当前所在时区
NSTimeZone *zone = [NSTimeZone systemTimeZone];
NSLog(@"%@", zone);
// 获取和0时区相差的秒数
NSInteger seconds = [zone secondsFromGMT];
NSLog(@"%ld", seconds);
// 通过相差的秒数,获取到当地时间
NSDate *localTime = [NSDate dateWithTimeIntervalSinceNow:2880];
NSLog(@"%@", localTime);
NSDate *times = [NSDate dateWithTimeIntervalSince1970:seconds];
NSLog(@"%@", times);
// 时间间隔
// 对应的是double类型
// 计算两个对象的时间间隔
NSTimeInterval timerInterval = [tomorrow timeIntervalSinceDate:date];
NSLog(@"%f", timerInterval);
// 把日期和字符串互相转换
// NSDate -> NSString
NSDate *date = [NSDate date];
NSString *str = [NSString stringWithFormat:@"%@", date];
NSLog(@"%@", str);
// 时间的格式
// yyyy-MM-dd HH-mm-ss
// y年
// M月
// d日
// H时
// m分
// s秒
// 先设置时间的格式,要转换的时间要和格式相吻合
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH-mm-ss"];
NSDate *date = [NSDate date];
// 通过格式把指定时间转换成字符串
// 通过这种方式系统会把时间转换成当前时间
NSString *strDate = [formatter stringFromDate:date];
NSLog(@"%@", strDate);
// 字符串 -> date
NSString *timeStr = @"2015-7-23 17-20-33";
NSDate *date = [formatter dateFromString:timeStr];
NSLog(@"%@", date);