我用它来返回
return [NSArray arrayWithObjects:message, previousNum, nil];
输出时总是输出
(
Hello 22
)
我想知道如何从输出中删除圆括号
如果有人可以提供帮助,我会很感激
感谢你
答案 0 :(得分:0)
我假设您的输出是使用NSLog(@"%@", theArray)
或类似产生的。在这种情况下,NSLog()
调用description
的{{1}}方法,该方法返回表示数组内容的字符串,格式为属性列表。
因此括号不是数组的一部分,而是描述输出的一部分。
如果你想要一个不同的输出,你必须自己生成它,例如
NSArray
创建一个字符串,其中所有数组元素都用换行符分隔。
ADDED:属性列表是Cocoa和Core Foundation用作存储,组织和访问标准数据类型的便捷方式的结构化数据表示。
NSString *str = [theArray componentsJoinedByString:@"\n"];
的{{1}}方法将数组括在括号中,并且所有元素都以逗号(和换行符)分隔。 Old-Style ASCII Property Lists。
有关属性列表的详细信息,请参阅Property List Programming Guide。
答案 1 :(得分:0)
我无法确定,但看起来你需要帮助将NSArray变成NSString。
当使用NSLog(@"%@", array)
(或其他此类格式化方法)输出NSArray时,从NSArray到NSString的这种转换是隐式完成的。 NSLog
调用[array description]
将array
转换为NSString。
您可以创建自己的方法将NSArray转换为NSString,也可以使用-componentsJoinedByString:
之类的方法。将数组放在变量array
中:
NSLog(@"%@", [array componentsJoinedByString:@", "];
将打印Hello, 22
。
NSLog(@"%@", [array componentsJoinedByString:@" "];
将打印Hello 22
。
NSLog(@"%@", [array componentsJoinedByString:@""];
将打印Hello22
。