gpt4 book ai didi

ios - 使用函数将文本添加到 TextView

转载 作者:行者123 更新时间:2023-11-30 12:17:51 26 4
gpt4 key购买 nike

我试图在不使用按钮的情况下将文本添加到 TextView ,但我不断收到 fatal error :按下 aButton 时展开可选值 (lldb) 时意外发现 nil。该错误将我带到 myTextView.text = ""行。到目前为止,我发现的有关该错误的帖子就是这个 “ fatal error :在展开可选值时意外发现 nil”是什么意思?如果您的问题是一个声明的变量,您可以使用 if let 方法修复该变量,那么这很好,但是当涉及向 TextView 添加文本时,答案会变得更加困难。

class ViewController: UIViewController
{
var textArray: [String] = []
@IBOutlet weak var myTextView: UITextView!
func addText()
{
myTextView.text = ""

for words in textArray
{
myTextView.textStorage.append(NSAttributedString(string: words))
}
}
@IBAction func aButton(_ sender: Any)
{
textArray.append("a ")
ViewController().addText()
}
}

最佳答案

fatal error: unexpectedly found nil while unwrapping an Optional value

可选值为 nil 意味着您的 IBOutlet 弱变量“myTextView”为 nil,在 nil 上调用方法,这会使您的应用程序崩溃。

当您使用 StoryBoard 添加 textView 时,在您的 socket 连接或可用于名为“ViewController”的代码之前,它需要一些准备工作,例如从 nib 文件加载和创建对象

for more info about nib file

更重要的是,因为您在新的 ViewController 对象中调用 addText 方法,即使根本没有错误,它也不会更改屏幕上的 textView,因为它们是不同的对象。就像@Bilal所说,使用 self.addText() 或 addText() 就可以了。

最后,调试器是你最好的 friend

关于ios - 使用函数将文本添加到 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45179617/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com