0
我想弄清楚爲什麼我通過此代碼獲得EXC_BAD_ACESS
。我沒有clu。任何人都可以幫我解答。保留/釋放錯誤
- (void)loadJsonFile:(NSString*)fileName {
NSError *error = nil;
NSData *jsonData = [[[NSString alloc]
initWithContentsOfFile:[[NSBundle mainBundle]
pathForResource:fileName ofType:@"json"]
encoding:NSUTF8StringEncoding error:&error]
dataUsingEncoding:NSUTF8StringEncoding];
jsonDic = [[NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error] retain];
[jsonData release];
}
如果我註釋掉 「[jsonData release];
」 行,一切功能。但爲什麼 ?我分配jsonData
,填入數據並將其傳遞到NSJSONSerialization
獲取jsonDic。在序列化之後,我發佈了jsonData
並希望使用jsonDic,但是在「[jsonData release];
」之後的一段時間,我收到了「EXC_BAD_ACCESS
」異常。
我沒有clu,任何幫助讚賞。
Thx很多。我現在意識到 a)我創建了一個字符串對象,我從來沒有發佈過 b)我釋放了我沒有的數據對象。 – 2012-08-13 12:43:08
您使用的是什麼版本的XCode?我正在使用3.2.5,並且我沒有在任何菜單中看到ARC ... – user574771 2012-08-15 21:00:12
@ user574771 ARC需要Xcode 4.2或更新版本。 – 2012-08-16 08:42:56