OC--迭代器/NSNumber/NSValue/NSRange/NSSet/NSDate 及相互转化

//一:迭代器(循环用)
    //数组
    NSArray *arr = @[@"1",@"2",@"3",@"4"];
    NSEnumerator *enumerator = [arr objectEnumerator];
    NSString *str = nil;
    while ( str = [enumerator nextObject]){
        NSLog(@"%@",str);
        }
    //字典
    //直接打印字典的vaule
        NSDictionary *dic = @{@"1",@"2",@"3",@"4"};
        NSEnumerator *enumrator = [dic objectEnumerator];
        NSString *vaule = nil;
        while ( value = [enumrator nextObject]){
            NSLog(@"%@",vaule);
            }
//二:值对象(相互转化)
    //1.NSNumber(基本数据类型转化成对象类型).
            //Integer -> NSNumber
                NSInteger a = 2;
                NSNumber *num = [[NSNumber alloc] initWithInteger:a ];
                NSLog(@"%@");
            //NSNumber ->Integer
                    //1.
                    NSInteger b = [num integerValue];
                    //2.
                    NSNumber *number = @10;
                    NSArray *arr = @[@"1",@10];
    //2.NSValue
            //把结构体和指针转换成对象类型
            //结构体的 . 用于访问自己的成员变量;不是对象调用自己属性的点语法.
        //NSRange ->NSValue
                NSRange range = {2,5};
                NSLog (@"%@",range.length);
                NSValue *value = [NSValue valueWithRange:range];
                NSArray *arr = @[value];
        //NSValue -> NSRange
                NSRange rangeVau = [value rangeValue];
        //指针(pointer) -> NSValue 
                int a = 10 ;
                int *p = &a;
                NSValue *pointer = [NSValue valueWithPointer:p];
        //NSValue ->指针(pointer)
                int *p1 = [pointer pointerValue];
//三: NSSet NSMutableSet --集合
        //NSSet 是无序的
        NSSet *set = [NSSet setWithObject:@"1",@"2",@"3",@"4",@"5",@"6",@"2",nil];
        NSLog(@"%@",set);
        NSLog(@"%@",set.count);
        NSLog(@"%@",[set anyObject]);
        NSLog(@"%@",[containsObject:@"3"]);
         //可变集合
         NSMutableSet *set1 = [NSMutableSet set];
         [set1 addObject:@"9"];
         NSLog(@"%@",set1);
         [set1 removeObject:@"9"];
         NSLog(@"%@",set1);
         // 遍历
         for (NSString *str in set1){
             NSLog(@"%@",str);
             }
//四:NSDate
        NSDate *date = [NSDate date];
        NSLog(@"%@",date);
        // date 获取的时间无论哪个区,都是打印相对应的零时区
        // 获取一下当前所在的时区
        NSTimeZone *zone = [NSTimeZone systemTimeZone];
        NSLog(@"%@",zone);
        //获取和零时区相差的秒数
        NSInteger *sec = [zone secondsFromGMTForDate:date];
        NSLog(@"%ld",sec);
        //通过相差的秒数,能获取到现在的时间,
        NSDate *nowDate = [NSDate dateWithTimeIntervalSinceNow:sec];
        NSLog (@"%@",nowDate);
//时间间隔
//对应的Double类型,可以是小数.
//计算两个对象的时间间隔
NSTimeInterVal *interVal = [时间1 timeIntervalSinceDate:时间2];
NSLog(@"%@",interVal);
//五:日期和字符串的相互转换.
//NSDate ->NSString
//方法一:
        NSDate *date = [NSDate date];
        NSString *dateStr = [NSString stringWithFormat:@"%@",date];
        NSLog(@"%@",dateStr);
//方法二:
  //时间的格式
      //yyyy-MM-dd HH-mm-ss
      //y 年 M 月 d 日 H 24小时制 h 12小时制度 m 分 s 秒
      //先设置时间格式,要转换的时间要和格式想吻合
      NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
      [fomatter setDateformat:@"yyyy-MM-dd HH-mm-ss"];
      NSDate *date = [NSDate date];
      //通过格式,那指定的时间直接转换成NSString
      //通过这种方式,系统会把时间切换成当前时间,无时区之差
      NSString *strDate = [formatter stringFromDate:date];
      NSLog(@"%@",strDate);
 //NSString -> NSDate
     //把时间又减去8小时.
     NSString *time = @"2015-07-23 17-19-50"
     NSDateFormatter *formatter2 = [[NSDateFormatter alloc]init];
     [formatter2 setDateFormat:@"yyyy-MM-dd HH-mm-ss"];
     NSDate *date = [formatter2 dateFromString:time];
     NSLog(@"%@",date);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值