gpt4 book ai didi

ios - 应用程序在 viewWillDisappear() 上随机崩溃

转载 作者:行者123 更新时间:2023-11-28 12:26:54 27 4
gpt4 key购买 nike

我是 Swift 的新手,我在我的应用程序中发现了一些奇怪的崩溃。

Fabric 报告说崩溃发生在 viewWillDisappear() 中。

我有两个 ViewControllers。用户在 A viewcontroller 中点击按钮,然后他们移动到 B viewcontroller 输入一些东西,他们用户返回,A 从 B 获取信息。

我使用委托(delegate)来完成这个任务。

乙:

class LessonNameTagTableViewController: UITableViewController {

...

var delegate:PassingData?

override func viewWillDisappear(_ animated: Bool) {

lessonName = (tableView.cellForRow(at: IndexPath(row: 0, section: 0))?.viewWithTag(1) as! UITextField ).text!

delegate?.changeLessonNameTag(name: lessonName, tag: tagColor)
super.viewWillDisappear(animated)

}
...
}

答:

class LessonEditTableViewController: UITableViewController,PassingData {
var lesson :Lesson?
...
func changeLessonNameTag(name:String,tag:UIColor){
self.lesson!.lessonName = name
self.lesson!.lessonTagColor = tag
tableView.reloadData()

}
...
}

崩溃是随机发生的,我在我的设备上测试过,没有任何反应。但其他人说他们可能会重复这种崩溃。

请问是我使用了委托(delegate)权还是其他原因造成的

最佳答案

您可能在 viewWillDisappear 中遇到了问题,那里有很多可选项,在您强制展开时可能会给您带来麻烦。

最好是安全的:

override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)

if let lessonName = (tableView.cellForRow(at: IndexPath(row: 0, section: 0))?.viewWithTag(1) as? UITextField)?.text {
delegate?.changeLessonNameTag(name: lessonName, tag: tagColor)
}
}

关于ios - 应用程序在 viewWillDisappear() 上随机崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43142933/

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