是否有可能将数组显示为文本?

时间:2011-12-08 07:58:38

标签: iphone objective-c arrays nsarray

我正在尝试这样做......

NSString *string = [NSString stringWithFormat:@"Hello World"];
NSArray *array = [NSArray arrayWithObject:string];
[uitextviewOutlet setText:[NSArray arrayWithArray:array]];

我想在我的uitextviewOutlet窗口上显示,这是UITextView的一个对象,它将打印出文本。

如果我直接发送uitextviewOutlet对象的setText消息,并且它以字符串作为参数,但是它不会接受数组,则代码有效。

有没有办法让它采取数组?

TIA。

2 个答案:

答案 0 :(得分:4)

你可以加入这些元素,比如这样的逗号:NSString *joinedString = [array1 componentsJoinedByString:@","];

编辑_:我不是“为我做这件事”的朋友,但是你去了:

NSString *string = [NSString stringWithFormat:@"Hello World"];
NSArray *array = [NSArray arrayWithObject:string];
[uitextviewOutlet setText:[array componentsJoinedByString:@","]];

顺便说一句,你的代码没有任何意义,或者你是否只用一个值来填充数组?

答案 1 :(得分:1)

您可以将数组转换为-componentsJoinedByString:的字符串,如@BjörnKaiser的示例所示。或者为了获得更大的灵活性,您可以:

NSString *string = [NSString stringWithFormat:@"Hello World"];
NSArray *array = [NSArray arrayWithObject:string];
for (NSString *araryItem in array) {
  [uitextviewOutlet replaceRange:NSMakeRange(uitextviewOutlet.text.length, 0) withText:@"foo\n"];
  [uitextviewOutlet replaceRange:NSMakeRange(uitextviewOutlet.text.length, 0) withText:arrayItem];
}