2011-07-12 117 views
2

我有我的这个错误的份额,并通常能够解决这个问题,但是这一次的让我难住了:获得EXC_BAD_ACCESS我不知道为什么

self.companyTheme = [[NSDictionary alloc] initWithContentsOfFile: 
    [[NSBundle mainBundle] pathForResource:@"CompanyTheme" ofType:@"plist"]]; 

的路径是绝对有效;我已经将它分离到它自己的变量中,并在其上放置一个断点来检查。

我知道这意味着我试图访问一些无法访问的内存,但在哪里? 任何帮助将不胜感激。干杯。

+0

是“自我”有效吗?换句话说,这段代码是否出现在可能在dealloc之后被意外调用的方法中? –

+0

几乎所有的时间这意味着你有(自动)释放你在这一行使用的一些变量。我想我们需要更多的信息来帮助你:) – Manuel

+0

这是一个单例对象,上面的方法在好的ol'self = [super init]之后被调用。我也100%不autorelease这个对象(或变量)。 – Dyldo42

回答

2

我解决了它!

这是因为我的对象是一个单身人士,我有一个无限循环进入我的应用程序。我不知道这些也导致了EXC_BAD_ACCESS。你学到的东西。

1

ID”的赌注,[[NSBundle mainBundle] pathForResource:@"CompanyTheme" ofType:@"plist"]]回报nilinitWithContentsOfFile:完全不和崩溃处理零参数以及当nil转换的内存地址0x0

+0

路径绝对有效;我已经将它分离到它自己的变量中,并在其上放置一个断点来检查。 – Dyldo42

+0

@ Dyldo42:保持分离。 '-pathForResource:ofType:'返回什么?确保这也不是零。调试这个复合语句最简单的方法是分解每一个单独的操作。这只需要片刻,并会大大缩小罪魁祸首的范围。 –

+0

我已经做到了。我在原来的问题和上面的评论中说过。路径是'/var/mobile/Applications/BE39E65E-7584-4C36-B3C4-37CBD5B6660B/App.app/CompanyTheme.plist',这是从pathForResource返回的:ofType: – Dyldo42

相关问题