我需要根据ID创建用于搜索的字典,但是如果未选择ID,则必须存储0。

现在,我显然可以这样做:

NSNumber* cityID;
NSNumber* zoneID; //These two do get value, just showing for their class
NSDictionary *cityDictionary = @{@"CityID": [NSNumber numberWithInt:(int)cityId], @"CityZoneID": [NSNumber numberWithInt:(int)zoneId]};

我觉得那真的很乱。它被强制转换为int,然后又转换回NSNumber ...

最佳答案

关于什么

NSDictionary *cityDictionary = @{
      @"CityID" :     (cityID == nil ? @0 : cityID),
      @"CityZoneID" : (zoneID == nil ? @0 : zoneID)
};

10-08 08:06