我正在尝试使用以下内容显示数组中的项目:
NSString *alertString = [NSString stringWithFormat:@"%@", path];
哪种方法很好,但是当我显示字符串时,它会以下列方式显示:
(
A,
B,
C,
d
)
有没有办法让它以不同的方式显示,例如所有在一行,没有括号,逗号或行返回,如下所示:
A B C D
答案 0 :(得分:13)
您有几个选择。看起来数组中的对象有一个description
方法,可以按照你想要的方式打印它们,所以它可能就像使用它一样简单:
NSString *alertString = [path componentsJoinedByString:@" "];
如果没有,你可以考虑这样的事情:
NSMutableString *s = [NSMutableString string];
[path enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[s appendString:@" "];
[s appendString:[obj someMethodThatFormatsTheObject]];
}];
NSString *alertString = [NSString stringWithString:s];
甚至:
NSMutableArray *a = [NSMutableArray array];
[path enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[a addObject:[obj sometMethodThatFormatsTheObject]];
}];
NSString *alertString = [a componentsJoinedByString:@" "];
答案 1 :(得分:9)
如果path
是NSArray,您可以使用the -componentsJoinedByString:
method将数组中的所有字符串与所需的分隔符连接起来。
NSString* alertString = [path componentsJoinedByString:@" "];