如何指定标签文本属性以显示数组中的字符串?

时间:2014-02-23 21:41:23

标签: ios objective-c ios7

我正在尝试在文本标签中显示数组中的所有字符串项。

self.latestTenThrows.text = [NSString stringWithFormat:@"%@", self.savedThrowsArray];

然而,视图中的输出是:

(
    "4 + 4 + 3 + 2 + 1 = 14",
    "6 + 5 + 4 + 5 + 2 = 22",
    "2 + 3 + 5 + 1 + 6 = 17"
)

我该怎么做才能让它看起来像这样:

4 + 4 + 3 + 2 + 1 = 14
6 + 5 + 4 + 5 + 2 = 22
2 + 3 + 5 + 1 + 6 = 17

3 个答案:

答案 0 :(得分:3)

请参阅Apple documentation for NSArray,您可以使用一种方法将所有数组元素与插入的字符串连接起来:

NSString *s = [self.savedThrowsArray componentsJoinedByString: @"\n"];
self.latestTenThrows.text = s;

答案 1 :(得分:1)

当您一次登录整个数组时,您看到的是数组的格式化描述。如果要自己格式化数组的内容,请提取每个对象并将其记录下来,如下所示:

for (NSString *line in self.savedThrowsArray) {
    NSLog(@"%@", line);
}

您可以更改@"%@"以匹配您想要的任何输出格式,例如包括前导或尾随空格或其他内容。

如果要将所有结果合成为一个字符串,可以这样做:

NSMutableString *mStr = [[NSMutableString alloc] init];
for (NSString *line in self.savedThrowsArray) {
    [mStr appendFormat:@"%@\n", line];
}
self.latestTenThrows.text = mStr;

答案 2 :(得分:0)

有一个NSArray方法componentsJoinedByString

假设数组中的每个元素都是一个字符串,就像你显示的一行一样,你可以使用这样的代码:

NSString *combinedString = [componentsJoinedByString: @"\n"];
self.latestTenThrows.text = combinedString;