Я прочитал много вопросов и ответов, но они не решили мою проблему.
Я написал этот метод, чтобы сохранить некоторые данные из моего пера в словарь, а затем в .plist
-(void)save{
NSString *saveFilePath = [self saveFilePath];
if ([[NSFileManager defaultManager]fileExistsAtPath:saveFilePath]) {
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:saveFilePath];
//I Use the "today date" for key
NSDate *today = [[NSDate alloc]init];
NSMutableArray *array = [[NSMutableArray alloc]init];
NSString *delta = [[NSString alloc]initWithFormat:@"%d",[kmNew.text intValue] - [kmOld.text intValue]];
[array addObject:delta];
[array addObject:[consumoKg text]];
[array addObject:[consumoEuro text]];
[dictionary setObject:array forKey:today];
BOOL success = [dictionary writeToFile:[self saveFilePath] atomically:YES];
NSLog(@"%d",success);
[today release];
[delta release];
[array release];
[dictionary release];
}
else{
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
NSDate *today = [[NSDate alloc]init];
NSMutableArray *array = [[NSMutableArray alloc]init];
NSString *delta = [[NSString alloc]initWithFormat:@"%d",[kmNew.text intValue] - [kmOld.text intValue]];
[array addObject:delta];
[array addObject:[consumoKg text]];
[array addObject:[consumoEuro text]];
[dictionary setObject:array forKey:today];
// Check if the value are store correctly into the dictionary
for (NSDate *key in dictionary) {
for (NSString *string in [dictionary objectForKey:key]) {
NSLog(@"%@",string);
}
}
BOOL success = [dictionary writeToFile:[self saveFilePath] atomically:YES];
NSLog(@"%d",success);
[today release];
[delta release];
[array release];
[dictionary release];
}
}
Метод saveFilePath имеет следующий вид:
- (NSString *)saveFilePath {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return [documentsDirectory stringByAppendingPathComponent:kFilenameHistory];
}
Переменные правильно сохранены в словаре, но возвращаемое значение BOOL "success" равно 0 .. Почему?