我正在使用 NSKeyValueChange 刷新从 web 服务获取后出现在 tableview 中的图像。
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context {
if ([keyPath isEqual:@"thumbnail"]) {
UIImage* newImage = [change objectForKey:NSKeyValueChangeNewKey];
if (newImage != (id)[NSNull null]) {
self.thumbContainer.image = newImage;
[self.thumbContainer setNeedsLayout];
}
}
}
和
[item addObserver:cell forKeyPath:@"thumbnail" options:NSKeyValueObservingOptionNew context:NULL];
一切正常,直到我将整个导航添加到名为 ECSlidingViewController 的第三方库中以具有类似于 Facebook 和 Sparrow Mail 应用程序的左侧导航。
现在我的应用程序崩溃了,下面是当我尝试在 tableview 中加载更多单元格时得到的图像。
正如您在上图中看到的那样,对我来说,仅仅解决问题所在是不够的。我曾尝试在 StackOverflow 上检查与主线程崩溃相关的类似问题,但它们并没有帮助我。
有人可以调查一下,问题出在哪里。提前致谢。
更新:我可以运行该程序,但是当我向下滚动以显示更多单元格时,此问题会导致程序崩溃。