Добавить данные в plist - PullRequest
1 голос
/ 13 апреля 2011

Я хочу создать plist в коде и добавить в него больше «записей» из пользовательского ввода.Я создал список, и я могу написать пользовательский ввод, но я не могу добавить данные в мой список.Каждый раз он сохраняет последний ввод и сохраняет только одну «запись».Это код:

-(void) createPlistFile {
    manager = [NSFileManager defaultManager];
    filepath = @"/Users/agnostos_el/Downloads/PhoneBook/PhoneBook/Epafes.txt";
    if ( [manager fileExistsAtPath:filepath] == NO )
    {
        NSLog(@"Το Αρχειο Δεν Υπαρχει Το δημειουργω");
        [[NSFileManager defaultManager]createFileAtPath:filepath contents:nil attributes:nil];

    }

}

-(void) openPlistFile {

    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    if( [path count] > 0 ){
        pListFile = [[path objectAtIndex:0] stringByAppendingPathComponent:filepath];
        NSDictionary *pListDict = [[NSDictionary alloc]initWithContentsOfFile:filepath];

        if ( [pListDict count] <= 0 ) 
        {
        }

        [self createPlistFile];
    }

}

- (void) times
{
    filepath = @"/Users/agnostos_el/Downloads/PhoneBook/PhoneBook/Epafes.txt";


    stoixeia = [NSArray arrayWithObjects:onoma.stringValue, poli.stringValue, odos.stringValue, per.stringValue, tk.stringValue, xora.stringValue,kin.stringValue, kin1.stringValue, kin2.stringValue, kat.stringValue,  erg.stringValue, fax.stringValue, email.stringValue, email1.stringValue, email2.stringValue, pros.stringValue, sim.stringValue, nil];
    eponimos = epitheto.stringValue;
    NSMutableDictionary *atomo = [NSMutableDictionary dictionary]; 


    innerDict = [NSDictionary dictionaryWithObjects:
                 [NSArray arrayWithObjects: eponimos, stoixeia, nil]
                                            forKeys:[NSArray arrayWithObjects:@"eponimo", @"stoixeia", nil]];
    [atomo setObject:innerDict forKey:eponimos];
    id plist = [NSPropertyListSerialization dataFromPropertyList:(id)atomo
                                                          format:NSPropertyListXMLFormat_v1_0 errorDescription:nil];
    record = [[NSData alloc]initWithData:plist];
    [record writeToFile:filepath atomically:YES];
}


- (void) eggrafi
{

    [self openPlistFile];
    [self times];
}

Есть предложения?Спасибо.

1 Ответ

0 голосов
/ 14 апреля 2011

Вы не передаете содержимое файла на createFileAtPath:contents:attributes::

[[NSFileManager defaultManager]createFileAtPath:filepath contents:nil attributes:nil];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...