componentsSeparatedByString当string为空时返回1个对象

时间:2015-06-23 07:26:16

标签: ios objective-c iphone nsmutablearray

我通过componentsSeparatedByString将字符串转换为数组。它返回数组完美。但是当string为空时返回1个对象。

为什么会这样?

NSMutableArray *imagesList=[[[productDetail objectForKey:@"productImage"] componentsSeparatedByString:@","]mutableCopy];

2 个答案:

答案 0 :(得分:6)

这是因为,你传递空字符串(“”)和componentsSeparatedByString试图用逗号(,)分隔你的字符串,但它们在你的字符串中没有逗号(,),所以它返回1个数组item(即“”)。

NSMutableArray *imagesList = [[NSMutableArray alloc]init];    
if(![productDetail isEqualToString:@""]) {   
    imagesList=[[[productDetail objectForKey:@"productImage"] componentsSeparatedByString:@","]mutableCopy];
}

答案 1 :(得分:2)

如果在字符串中找不到分隔符,则在数组中返回原始字符串。