项目中会经常使用字典setObject这个方法,而你知道,如果setObject的对象如果为nil,那么就会导致crash,用户体验非常不好。而项目中这个方法用到的时候又实在太多,我们一般这样处理
[paramDic setObject:[StringUtil convertEmpty:self.airOrder.firstFlightNo] forKey:@"firstFlightNo"];
StringUtil.m:
#pragma mark - 转换空字符
+ (NSString *)convertEmpty:(NSString *)str {
if (str == nil || [[StringUtil trim:str] length] == 0 || [[str lowercaseString] isEqualToString:@"null"]) {
return @"";
}
return str;
}
然而总会有疏忽遗漏的地方。
今天和同事交流,觉得这个方法很不错。就是写个NSMutableDictionary Category, 然后将Category import到预编译文件,如.pch文件。再使用setObject的时候,就不用每次都convertEmpty处理了。
一下省了好多代码,节省不少时间,吼吼...