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

Pra*_*iya 2 iphone objective-c nsmutablearray ios

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

为什么会这样?

NSMutableArray *imagesList=[[[productDetail objectForKey:@"productImage"] componentsSeparatedByString:@","]mutableCopy];
Run Code Online (Sandbox Code Playgroud)

Suj*_*jay 6

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

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