5-25-1 小知识点

2017-05-25  本文已影响2人  RBNote

一.NSString 如何输出%

    NSLog(@"百分号:89%%");
    
    NSLog(@"反斜杠:\\专治不想吃饭😁");
    NSLog(@"双引号:\"不要放弃治疗\"");

控制台打印

2017-05-25 16:40:50.782 5-25-1 可变不可变数组的测试[16825:248496] 百分号:89%
2017-05-25 16:40:50.782 5-25-1 可变不可变数组的测试[16825:248496] 反斜杠:\专治不想吃饭😁
2017-05-25 16:40:50.782 5-25-1 可变不可变数组的测试[16825:248496] 双引号:"不要放弃治疗"

二. 向Dic, NSArry中插入nil 必崩

  1. 创建字符串,不赋值就是nil。
  NSString *lock_id ; // nil
    NSLog(@"%@",[lock_id class]);
    if (lock_id == nil) {  
        NSLog(@"哈哈哈哈😁");  // 这句话会被打印
    }
  1. 服务器返回数据如果向下面👇这样子 , 看到 null 没,做个安全判断吧,不让血崩。
{"success":true,"msg":"操作成功!","infor":null}      // json串形式
    infor = "<null>";        // 字典形式

// 防崩溃处理
            if ([infoArray isKindOfClass:[NSNull class]]) {
                [JRToast showWithText:@"没有数据" duration:0.5];
                return ;
            }

3.向字典插入一个nil 对象,崩溃 。 NSArray 也一样

  NSMutableDictionary *dic = [NSMutableDictionary dictionary];
    NSString *lock_id ; // nil
    [dic setObject:lock_id forKey:@"lock_id"];    // 制造一个crash

奔溃信息

reason: '*** setObjectForKey: object cannot be nil (key: lock_id)'   // 字典的崩溃信息

reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'    // 数组的崩溃信息
上一篇 下一篇

猜你喜欢

热点阅读