我通过componentsSeparatedByString将字符串转换为数组。它返回数组完美。但是当string为空时返回1个对象。
为什么会这样?
NSMutableArray *imagesList=[[[productDetail objectForKey:@"productImage"] componentsSeparatedByString:@","]mutableCopy];
答案 0 :(得分:6)
这是因为,你传递空字符串(“”)和componentsSeparatedByString
试图用逗号(,)分隔你的字符串,但它们在你的字符串中没有逗号(,),所以它返回1个数组item(即“”)。
NSMutableArray *imagesList = [[NSMutableArray alloc]init];
if(![productDetail isEqualToString:@""]) {
imagesList=[[[productDetail objectForKey:@"productImage"] componentsSeparatedByString:@","]mutableCopy];
}
答案 1 :(得分:2)
如果在字符串中找不到分隔符,则在数组中返回原始字符串。