我正在开发一个用于显示文件系统内容的应用程序。我有两种类型的显示器

1)概述

2)IKImagebrowserView

用户可以在视图之间切换。我将当前视图对象保存在全局变量currentview中,因为多个控制器需要访问它。

现在,每当用户切换视图时,一个控制器(在线程上运行)就会更改此全局变量。但是我有另一个控制器,该控制器(取决于某些数据库操作)使用以下命令连续刷新currentview

[currentview reloadData];


现在,每当我在视图之间快速切换时,这些线程之间的currentview对象就会出现问题,并且应用程序崩溃。
崩溃报告显示应用程序崩溃

[currentview reloadData];


有什么解决办法吗?

最佳答案

尝试使用

@synchronized(self)
{
   [currentview reloadData];
}


这将创建一个排他锁,以防止其他线程同时访问它。

08-18 14:46