1

我有一个我正在构建的应用程序,它是一个简单的导航应用程序。我不想多次从我的 xml 加载数据,所以我使用单例来加载和保存数据。我的第一个表推动了第二个表的视图。该表调用单例并从那里获取数据数组以显示在表中。

这一切都很好,我单击第一个表中的一个单元格,将我带到使用单例的第二个表。我导航回第一个表,然后返回第二个表,这是我收到 EXC_BAD_ACCESS 错误的时候。当我初始化单例但当我尝试访问其中的数组时它不会出错。代码如下

MediaData *dataClass = [MediaData sharedManager];

//当我第二次签入单例时 sharedManager 已经存在

sortedData = dataClass.arrMediaData; //此行第二次出错

NSLog(@"排序后的数组。%@", sortedData);

[数据类发布];

任何帮助都会很棒,因为它不是一个非常描述性的错误,谢谢

4

2 回答 2

3

代码中的最后一行导致了问题。单例不应该被释放。

于 2010-04-14T15:04:12.757 回答
1

正如 Jasarien 所说,不要释放单例。

您可以使用 NSZombieEnabled 并在设备上运行以获得更多描述性错误:http ://www.cocoadev.com/index.pl?NSZombieEnabled

于 2010-04-14T15:07:51.403 回答