Запись в .plist возвращает Успех! но в итоге пусто

Вот мой код:

-(IBAction)btnSaveInfo:(UIButton *)sender {
    NSMutableArray *data = [[NSMutableArray alloc] init];
    NSDictionary *appInfo = [NSDictionary dictionaryWithObjectsAndKeys: fieldAPI.text, @"App API", fieldID.text, @"App ID", fieldName.text, @"App Name", nil];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *newPath = [documentsDirectory stringByAppendingPathComponent:@"AppData.plist"];

    NSMutableArray *appdata = [NSMutableArray arrayWithContentsOfFile:newPath];
    [appdata addObject:appInfo];
    NSLog(@"%@",appdata);
    [appdata writeToFile:newPath atomically:YES];

    if ([data writeToFile:newPath atomically:YES]) {
        NSLog(@"Success!");
        NSMutableArray *finalData = [NSMutableArray arrayWithContentsOfFile:newPath];
        NSLog(@"Final array:\n\n%@",finalData);
        [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
    }
    else {
        NSLog(@"Error...");
    }
    [data release];
    }

Мои NSLogs возвращаются

2012-12-23 01:20:37.628 Parse Push[38052:c07] (
        {
        "App API" = asdf;
        "App ID" = adsf;
        "App Name" = asdf;
    }
)
2012-12-23 01:20:37.932 Parse Push[38052:c07] Success!
2012-12-23 01:20:37.933 Parse Push[38052:c07] Final array:

(
)

Есть ли ошибка в моем коде или что-то, чего мне не хватает? Я новичок в работе с .plist, поэтому буду признателен за любую помощь, спасибо!


person 1789040    schedule 23.12.2012    source источник
comment
как насчет NSLog(@"%@",appdata); ?   -  person Inder Kumar Rathore    schedule 23.12.2012
comment
Только что отредактировал его, чтобы включить данные приложения... @InderKumarRathore   -  person 1789040    schedule 23.12.2012


Ответы (1)


Проблема здесь

if ([data writeToFile:newPath atomically:YES]) {

Вы снова пишете здесь пустой массив

Использовать это

[appdata addObject:appInfo];
NSLog(@"%@",appdata);
if ([appdata writeToFile:newPath atomically:YES]){
person Inder Kumar Rathore    schedule 23.12.2012
comment
Ух ты!! Не могу поверить, что пропустил это :) Спасибо (приму ваш ответ, как только смогу!) - person 1789040; 23.12.2012