2011-04-13 130 views
1

我想在代碼中創建一個plist,並在用戶輸入中添加更多的「記錄」。我創建了一個plist,我可以編寫用戶輸入,但是我無法將數據添加到我的plist。每一次,它都會保存最後一次輸入並只保留一個「記錄」。這是代碼:將數據添加到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]; 
} 

有什麼建議嗎?謝謝。

回答

0

你是不是傳遞文件內容createFileAtPath:contents:attributes:

[[NSFileManager defaultManager]createFileAtPath:filepath contents:nil attributes:nil];