在视图上显示数组中的多行文本的最实用方法是什么?
What's the most practical way to display multiple lines of text from an array on a view?
所以我有一个用字符串填充的数组,我想在视图上打印它(就像您经常在命令 prompt/terminal 中看到的那样)。最好的方法是什么?
我想过一些不同的方法,但不是很确定
- 使用
UITableView
并将每个字符串输入一个单元格。
- 使用
UITextView
(我还没弄明白怎么做)
还有其他建议吗?
遍历数组创建一个字符串,然后将其设置为 UITextView
的 text
属性。类似于:
NSMutableString *finalText = [[NSMutableString alloc] init];
for(NSString *line in array)
{
[finalText appendString:[NSString stringWithFormat:@"%@\n", line]];
}
textView.text = finalText;
另一种选择是使用:
textView.text = [array componentsJoinedByString:@"\n"];
这对您来说可能是更好的选择,因为您不会在末尾留下尾随换行符。
yourTextView.text = [yourArray description];
或
yourTextView.text = [[yourArray valueForKey:@"description"] componentsJoinedByString:@""];
会将其转储到 textView 中而不会使它看起来很花哨(就像命令提示符一样)。
我认为您可以使用以下方法直接从数组中在一行中创建一个字符串:
NSString *displayString = [<yourArray> componentsJoinedByString:@"\n"];
然后在你的视图中设置显示字符串UI。
文本视图稍微简单一些(但两者都非常简单)。 table 视图为附加功能打开了大门(能够将单元格上的点击与特定于数组该行的某些操作相关联),并为您提供了一些更节省内存的方法(如果处理非常大的数据集)等。但是如果你有一个适度的字符串数组并且希望它看起来像你在命令行 window 中看到的那样,文本视图可能可以用最少的努力实现这一点。
其他方法(例如滚动视图和您以编程方式添加的 UILabel
控件等)更加麻烦,因此我认为您确定的两个选项是最佳选择。
所以我有一个用字符串填充的数组,我想在视图上打印它(就像您经常在命令 prompt/terminal 中看到的那样)。最好的方法是什么?
我想过一些不同的方法,但不是很确定
- 使用
UITableView
并将每个字符串输入一个单元格。 - 使用
UITextView
(我还没弄明白怎么做)
还有其他建议吗?
遍历数组创建一个字符串,然后将其设置为 UITextView
的 text
属性。类似于:
NSMutableString *finalText = [[NSMutableString alloc] init];
for(NSString *line in array)
{
[finalText appendString:[NSString stringWithFormat:@"%@\n", line]];
}
textView.text = finalText;
另一种选择是使用:
textView.text = [array componentsJoinedByString:@"\n"];
这对您来说可能是更好的选择,因为您不会在末尾留下尾随换行符。
yourTextView.text = [yourArray description];
或
yourTextView.text = [[yourArray valueForKey:@"description"] componentsJoinedByString:@""];
会将其转储到 textView 中而不会使它看起来很花哨(就像命令提示符一样)。
我认为您可以使用以下方法直接从数组中在一行中创建一个字符串:
NSString *displayString = [<yourArray> componentsJoinedByString:@"\n"];
然后在你的视图中设置显示字符串UI。
文本视图稍微简单一些(但两者都非常简单)。 table 视图为附加功能打开了大门(能够将单元格上的点击与特定于数组该行的某些操作相关联),并为您提供了一些更节省内存的方法(如果处理非常大的数据集)等。但是如果你有一个适度的字符串数组并且希望它看起来像你在命令行 window 中看到的那样,文本视图可能可以用最少的努力实现这一点。
其他方法(例如滚动视图和您以编程方式添加的 UILabel
控件等)更加麻烦,因此我认为您确定的两个选项是最佳选择。