gpt4 book ai didi

iphone - UIViewController 从 View 堆栈中弹出,NSURLConnection 使应用程序崩溃

转载 作者:行者123 更新时间:2023-12-03 20:11:02 24 4
gpt4 key购买 nike

我正在插入UIViewControllerUINavigationController 。该 View Controller 立即开始下载 xml feed,然后对其进行解析。但是,如果您在下载完成之前点击后退按钮,则会因 EXC_BAD_ACCESS 而崩溃。导致其崩溃的行位于 parserDidEndDocument这行是:

if (self.delegate && [self.delegate conformsToProtocol:@protocol(ModelDelegate)]) [self.delegate modelDidFinishParsing:self];

我认为它正在崩溃,因为它正在尝试访问不再分配的 self.delegate 。我该如何解决这个问题?

另外,我会在modelDidFinishParsing中释放模型对象。方法。如果这个模型从未达到这个方法,我将如何发布它。

最佳答案

我在 AppDelegate 中设置对象来处理下载(以及其他异步或长时间运行的任务),然后根据不同 Controller 的需要触发它们。这样它们就被拥有并在应用程序的整个生命周期中具有持久性。

最好的方法是将它们传递给需要它们的 viewController(而不是 viewController“期望”appDelegate 准备好并等待这样一个对象) - 依赖注入(inject)。

这些对象在完成时会以某种方式更新我的模型,如果需要,我会使用 NSNotifications 来宣布它们已完成。这使我摆脱了过去尝试取消或交换 viewWillDisappear 等中的委托(delegate)以避免遇到的问题的麻烦。

关于iphone - UIViewController 从 View 堆栈中弹出,NSURLConnection 使应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2892804/

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