ios - 格式化字符串输出的数组项

标签 ios objective-c arrays

我正在尝试使用以下方法显示数组中的项目:

NSString *alertString = [NSString stringWithFormat:@"%@", path];

效果很好,但是当我显示字符串时,它会以下列方式显示:

(
一、
B、
C、
D
)

有没有办法让它以不同的方式显示,比如全部显示在一行上,没有括号、逗号或换行,如下所示:

A B C D

最佳答案

您有几个选择。看起来数组中的对象有一个 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:@" "];

关于ios - 格式化字符串输出的数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4035037/

相关文章:

ios - 我想切换时间洗涤器以 15 分钟为间隔

ios - 不使用 Storyboard时处理 iOS 方向的正确方法

php - 将整个 PHP 数组散列为唯一值

ios - 0_specialized _fatalerrorMessage (StaticString, StaticString, StaticString, UInt, flags : UInt32) -> Never - SpriteKit

ios - 闭包如何捕获值?

objective-c - NSJSONSerialization 生成 NSCFString* 和 NSTaggedPointerString*

ios - 使用 UITabBar 和 UINavigationBar

javascript - 使用 putImageData 从 Canvas 上的像素数组绘制图像

python - Pandas : merge on column of ByteArray

javascript - 下载网页并在连接可用时刷新它