gpt4 book ai didi

swift - 尝试在 View Controller 之外使用 TextView 时出错

转载 作者:搜寻专家 更新时间:2023-11-01 06:22:57 25 4
gpt4 key购买 nike

我收到错误:

Fatal error: unexpectedly found nil while unwrapping an Optional value

每当我尝试将文本添加到 View Controller 之外的 TextView (bottomTextView) 时。我的 TextView 链接到我的主视图 Controller 。我有另一个名为 Checkbox 的类(UIButton 的子类),它尝试使用以下方法将文本添加到 TextView :

var main_vc = ViewController()
main_vc.bottomTextView.insertText("Checked")

但是,在我的 View Controller 中使用以下内容没有问题:

bottomTextView.insertText("Checked")

我不明白这是为什么以及如何解决它。谢谢!

编辑:

我的 Checkbox 类是 UIButton 的子类,它有一个方法,只要单击一个复选框就会调用它。单击该复选框后,我想将文本添加到主视图 Controller 内的 TextView 。

最佳答案

您没有初始化 View 。我猜你是从 nib 文件创建 if 的,这就是你需要像这样初始化它的原因

var main_vc = ViewController(nibName: "ViewController", bundle: nil)

当您尝试在没有 View 的情况下访问时,IBOutlets 为 nil,因为它们没有连接到任何东西。这就是您收到该错误的原因。

第二件事是可行的,因为所有方法都存在于您的 ViewController 对象中,但没有 View 来控制它。

如果您使用 Storyboard 创建文件,您首先需要像这样为该 ViewController 设置一个标识符

enter image description here

然后像这样创建你的ViewController

let storyboard = UIStoryboard(name: "Main", bundle: nil) // Or what ever your storyboard file name is
let main_vc = storyboard.instantiateViewControllerWithIdentifier("PublishView") as! ViewController // What you name your view controller

关于swift - 尝试在 View Controller 之外使用 TextView 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30031750/

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