componentsSeparatedByString return 1 个对象,当字符串为空时

componentsSeparatedByString return 1 object when string is empty

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

为什么会这样?

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

这是因为,您传递的是空字符串 (""),并且 componentsSeparatedByString 试图用逗号 (,) 分隔您的字符串,但它们在您的字符串中没有逗号 (,),因此它返回1 个数组项(即“”)。

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

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