0

我用这个来返回

  return [NSArray arrayWithObjects:message, previousNum, nil];

当它输出时,它总是输出像

 (
     Hello 22
 )

我想知道如何从输出中删除圆括号

如果有人可以提供帮助,我将不胜感激

感谢您

4

2 回答 2

0

我假设您的输出是使用NSLog(@"%@", theArray)或类似生成的。在这种情况下,NSLog()调用 的description方法NSArray,该方法返回一个表示数组内容的字符串,格式为属性列表

所以括号不是数组的一部分,而是描述输出的一部分。

如果你想要一个不同的输出,你必须自己生成它,例如

 NSString *str = [theArray componentsJoinedByString:@"\n"];

创建一个所有数组元素由换行符分隔的字符串。

添加:属性列表是 Cocoa 和 Core Foundation 使用的结构化数据表示,作为一种方便的方式来存储、组织和访问标准类型的数据。的description方法NSArray将数组括在括号中,所有元素用逗号(和换行符)分隔。旧式 ASCII 属性列表中描述了这种格式。

有关属性列表的更多信息,请参阅属性列表编程指南

于 2012-10-22T14:48:06.007 回答
0

我不能确定,但​​看起来您需要帮助将 NSArray 转换为 NSString。

NSLog(@"%@", array)这种从 NSArray 到 NSString 的转换是在使用(或其他此类格式化方法)输出 NSArray 时隐式完成的。NSLog调用[array description]转换array为 NSString。

您可以创建自己的方法来将 NSArray 转换为 NSString,或者您可以使用类似-componentsJoinedByString:. 在变量中使用您的数组array

NSLog(@"%@", [array componentsJoinedByString:@", "];

将打印Hello, 22

NSLog(@"%@", [array componentsJoinedByString:@" "];

将打印Hello 22

NSLog(@"%@", [array componentsJoinedByString:@""];

将打印Hello22

于 2012-10-22T14:51:35.300 回答