ios 7.x 出现了一个闪退,调试代码发现stringByRemovingPercentEncoding 对空字符对象的转化在ios8以下为nil,ios8以上为@“”。value 为nil导致闪退。
代码如下。
- (NSDictionary *)getParams:(NSString *)query {
NSMutableDictionary *queryStringDictionary =@{}.mutableCopy;
NSArray *urlComponents = [querycomponentsSeparatedByString:@"&"];
for (NSString *keyValuePairin urlComponents)
{
NSArray *pairComponents = [keyValuePaircomponentsSeparatedByString:@"="];
NSString *key = [[pairComponentsfirstObject] stringByRemovingPercentEncoding];
NSString *value = [[pairComponentslastObject] stringByRemovingPercentEncoding];
if(value !=nil && key != nil)//防止ios 7.x闪退 linqx 2016 11 01
{
[queryStringDictionary setObject:valueforKey:key];
}
}
return queryStringDictionary.copy;
}