搜索

首页  >  问答  >  正文

ios - 往字典里赋值有时候不成功的原因???

例1. NSMutableDictionary *dicPara = [NSMutableDictionary dictionaryWithObjectsAndKeys:_address,@"address",lonti,@"longtitude",lati,@"latitude",_poiname,@"poiname",_province,@"province",_city,@"city",_district,@"district",_street,@"street",nil];
例2. NSMutableDictionary *dicPara = [NSMutableDictionary dictionaryWithObjectsAndKeys:_addressL,@"address",lonti,@"longtitude",lati,@"latitude",remark,@"remark",customer_id,@"customer_id",nil];
[dicPara setObject:POIName forKey:@"poiname"];
[dicPara setObject:province forKey:@"province"];
[dicPara setObject:city forKey:@"city"];
[dicPara setObject:district forKey:@"district"];
[dicPara setObject:street forKey:@"street"];

例1是我开始写的,打印字典,发现里面的值有一部分不存在的
然后我采取了下面例2的赋值方法,发现赋值成功了虽然成功了,但是我不知道原因是什么,请大神指点迷津

天蓬老师天蓬老师2771 天前415

全部回复(2)我来回复

  • 黄舟

    黄舟2017-04-18 09:53:21

    dictionaryWithObjectsAndKeys 使用该方法初始化可变字典的时候 需要保证字典内部的值不为空 如果为空的话 字典接收到空值之后就会默认后面的键值全部为空 会移除掉。
    比如:

    还有setValue方法 和 setObject方法的区别是 setValue 方法会调用setObject方法 如果value为空的话 会调用removeObject方法

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:53:21

    Dictionary容器不能存储nil

    回复
    0
  • 取消回复