gpt4 book ai didi

ios - 从 ActivityViewController 的某些共享插件返回时应用程序崩溃

转载 作者:行者123 更新时间:2023-11-30 13:31:39 24 4
gpt4 key购买 nike

我有一个带有静态表的TableViewController;其中一个单元格包含一个名为 graphArea 的 UIView。该 View 渲染一个图表、它的背景和一条轴线——所有这些都在它的drawRect()内部。还有另外两个 View (sunView 和markerView),它们是使用Interface Builder 制作的,用于图表动态(移动标记线和触摸事件上的点)。

一切都工作得非常顺利,直到我实现并尝试测试一个采用普通 ActivityViewController 机制的共享按钮。当几个共享事件中的一个(其共享插件窗口占据全屏)完成时(无论共享成功还是取消),奇迹就开始了。应用程序崩溃。

使用调试器的发现对我来说很明显,崩溃发生了,因为一些 View ,包括 graphArea、sunView、markerView 在从共享屏幕返回后为零。

只有一些全屏共享插件(例如预装的邮件和消息,或者就我而言,“下载到 DropBox”操作)会导致应用程序崩溃。其他全屏共享插件没有(经过测试的 Telegram、WhatsApp、Skype)。这些非全屏插件中没有一个曾导致崩溃(Evernote、Twitter、2Do 等)。

当“恶意”共享插件全屏显示时,graphArea、sunView、markerView 似乎从内存中释放。我还没弄清楚为什么。

这是一些调试信息:

fatalErrorMessage 的回溯和汇编。 Traceback and asm code

下一个屏幕截图显示了 Controller 代码和属性的一部分,从共享插件返回时这些代码和属性为零(灰色选择)。是的,它们之前都是非零的。 Part of controller code and its state on crash

请帮帮我!预先感谢您!

最佳答案

谢谢你,帕尔帕蒂姆。我的 friend 也向我指出了同样的事情:我将 graphArea.removeFromSuperview() 放在 viewDidDisappear() 中,这导致了共享插件后的异常,该插件具有 .presentationStyle = 全屏。所以此时,当应用程序再次显示时,tableView 上不再有 graphArea

关于ios - 从 ActivityViewController 的某些共享插件返回时应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36508373/

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