在TextView中显示多行

时间:2015-12-27 23:32:39

标签: ios swift

我正在Swift中做一个项目,我正在从文件中读取数据并尝试在文本视图中显示它。我正在逐行阅读。例如,如果文件中有10行,则文本视图仅显示最后一行。而且我想全部看到它们。

我该怎么做?

我这样做:

if let aStreamReader = StreamReader(path:    "historic.txt") {
    defer {
        aStreamReader.close()
    }

while let line = aStreamReader.nextLine() {
    MyTextView.text = "\(line)"
}

代码在控制台中工作,因为如果我打印出每个显示确定。 但在文本视图中,只有最后一行可见。

2 个答案:

答案 0 :(得分:4)

尝试怎么样:

MyTextView.text + ="(line)"

' +'将追加而不是替换。

您可能需要在行字符串后添加\ n以创建新行:

MyTextView.text + ="(line)\ n"

<强>更新

我忘了你不能附加到textview上,所以在循环之前创建一个空字符串,然后将该行附加到while循环中的字符串上。然后最后在循环之后将textview文本设置为totalString变量:

var totalString = ""
while let line = aStreamReader.nextLine() {
   totalString  = totalString + line + "\n"
}
MyTextView.text = totalString

希望有所帮助

答案 1 :(得分:0)

确保标签lines属性的值为0并尝试此

if let aStreamReader = StreamReader(path:    "historic.txt") {
defer {
    aStreamReader.close()
}
var str = ""
while let line = aStreamReader.nextLine() {
    str = str + line + "\n"
}
MyTextView.text = str