0
我收到了與讀取和寫入plist文件的以下兩個函數相關的EXC_BAD_ACCESS錯誤。我認爲它的記憶有關。有什麼建議麼?EXC_BAD_ACCESS讀取和寫入plist文件
+(NSString *) getSettingString: (NSString *)key defaultValue:(NSString *)defValue
{
NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[pathArray objectAtIndex:0] stringByAppendingFormat:@"FSSettings_v3.plist"];
[pathArray release];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:path];
if (fileExists == YES) {
NSMutableDictionary* plistDictionary = [NSMutableDictionary dictionaryWithContentsOfFile:path];
NSString *value = [plistDictionary objectForKey:key];
return value;
} else {
[self setSettingString:key value:defValue];
return defValue;
}
}
+(void) setSettingString: (NSString *)key value:(NSString *)value
{
NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[pathArray objectAtIndex:0] stringByAppendingFormat:@"FSSettings_v3.plist"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:path];
if (fileExists == YES) {
NSMutableDictionary* plistDictionary = [NSMutableDictionary dictionaryWithContentsOfFile:path];
[plistDictionary setObject:value forKey:key];
[plistDictionary writeToFile:path atomically:YES];
[plistDictionary release];
} else {
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:value forKey:key];
[dict writeToFile:path atomically:YES];
[dict release];
}
[pathArray release];
}
從調試配置開始,它將在崩潰時立即停止在正確的行。這將幫助你縮小爲什麼它崩潰以及涉及哪個變量。 – Eiko 2010-07-01 21:14:59