Ios 正在尝试打印整个阵列,但只有最后一个阵列正在打印到textview
我用WebKit从一个网页上得到了一系列句子,我想把它们都打印到一个文本视图中。我想我有一个循环来打印整个数组,但它只打印最后一句话 这是我的Ios 正在尝试打印整个阵列,但只有最后一个阵列正在打印到textview,ios,swift,Ios,Swift,我用WebKit从一个网页上得到了一系列句子,我想把它们都打印到一个文本视图中。我想我有一个循环来打印整个数组,但它只打印最后一句话 这是我的 extension ViewController: WKScriptMessageHandler { func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
extension ViewController: WKScriptMessageHandler {
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
// Receive message from Javascript, check & process message
if message.name == "english", let englishLines = message.body as? [String] {
// All of the sentences are printing in my console
print(englishLines)
//Try Loop to print all of sentences on individual line
for englishLine in englishLines {
let eachEnglishLine = englishLine
textView.text = eachEnglishLine
}
}
文本视图中只打印最后一句。问题在于,在循环的每次迭代中,您都将文本设置为一个全新的字符串,而不是添加到其中 相反,请尝试以下方法:
textView.text += eachEnglishLine
如果每行还没有包含新行字符,那么您需要自己添加它。在这种情况下,它将是:
textView.text += “\(eachEnglishLine)\n”
有一个更简单的方法。不要为循环费心 将您的循环替换为:
textView.text = englishLines.joined(separator: "\n")
您的代码不起作用,因为您没有追加每一行。您可以简单地将每个值分配给文本视图,以便只显示最后一行分配的值。您的第一个调用端口应该是,并了解text属性的实际功能。从那以后,它会让你对这个问题有一个更好的了解,并让你踏上寻找解决方案的新征程。简单的回答是,文本设置要显示的文本,而不是附加它