我正在开发一个用于显示文件系统内容的应用程序。我有两种类型的显示器
1)概述
2)IKImagebrowserView
用户可以在视图之间切换。我将当前视图对象保存在全局变量currentview
中,因为多个控制器需要访问它。
现在,每当用户切换视图时,一个控制器(在线程上运行)就会更改此全局变量。但是我有另一个控制器,该控制器(取决于某些数据库操作)使用以下命令连续刷新currentview
[currentview reloadData];
现在,每当我在视图之间快速切换时,这些线程之间的currentview对象就会出现问题,并且应用程序崩溃。
崩溃报告显示应用程序崩溃
[currentview reloadData];
有什么解决办法吗?
最佳答案
尝试使用
@synchronized(self)
{
[currentview reloadData];
}
这将创建一个排他锁,以防止其他线程同时访问它。