我正在使用Objective C中的componentsSeparatedByCharactersInSet
方法从数组中读取数据。当我的数组包含多个带分隔符的参数时,它工作正常,但是当我的数组只有一个参数时,该方法不返回任何内容。例如:
array = [x*y*z];
newAray = [array componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"*"]];
//returns newArray = [x,y,z] - this is good
array = [x];
newAray = [array componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"*"]];
//returns nothing - this is bad
有没有办法解决这个问题,所以第二个例子会返回newArray = [x]
而不改变第一个数组的格式?
答案 0 :(得分:2)
“componentsSeparatedByCharactersInSet
”是“NSString
”中存在的一种方法,因此,为了能够使用它,您的“array
”对象必须是“{{ 1}}“对象。
我的解决方案是在NSString上添加一个类别,它返回由字符串中的字符分隔的组件数组,如果该调用返回的数组为空,则返回整个字符串(如果没有匹配允许的话,则会发生这种情况)分开的组件)。
这就是NSString上的类别:
NSString