2013-01-03 40 views
0

在我的應用程序,的plist文件被保存到文檔目錄,每個文件名是當前日期+時間。加載數據到其他類

我加載從文件目錄中的文件列表一個表:filesTableVC.m.

每次我想加載所選文件到一個新的類:oldFormVC.m 但該類被打開空。

我不確定問題在哪裏。

filesTableVC.m:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    oldFormVC *oldForm = [[oldFormVC alloc] initWithNibName:nil bundle:nil]; 

    //load previous data: 
    // get paths from root direcory 
    NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); 
    // get documents path 
    NSString *documentsPath = [paths objectAtIndex:0]; 
    // get the path to our Data/plist file 
    NSString *plistPath = [documentsPath stringByAppendingPathComponent:[fileList objectAtIndex:indexPath.row]]; 

    // check to see if Data.plist exists in documents 
    if (![[NSFileManager defaultManager] fileExistsAtPath:plistPath]) 
    { 
     // if not in documents, get property list from main bundle 
     plistPath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]; 
    } 

    // read property list into memory as an NSData object 
    NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath]; 
    NSString *errorDesc = nil; 
    NSPropertyListFormat format; 
    // convert static property liost into dictionary object 
    NSDictionary *temp = (NSDictionary *)[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&errorDesc]; 
    if (!temp) 
    { 
     NSLog(@"Error reading plist: %@, format: %d", errorDesc, format); 
    } 

    // assign values 
    self.theDate = [temp objectForKey:@"theDate"]; 
    self.theTime = [temp objectForKey:@"theTime"]; 
    self.carNumber = [temp objectForKey:@"carNumber"]; 
    self.driverName = [temp objectForKey:@"driverName"]; 

    [self presentViewController:oldForm animated:YES completion:nil]; 
} 

oldFormVC.m:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    dateField.text = theDate; 
    timeField.text = theTime; 
    carNumberField.text = carNumber; 
    driverNameField.text = driverName; 
} 
+0

您正在使用self.carNumber這裏我假設你的意思oldForm.carNumber – Martin

回答

2

編寫代碼在viewDidAppear

- (void)viewDidAppear:(BOOL)animated 
{ 
    dateField.text = theDate; 
    timeField.text = theTime; 
    carNumberField.text = carNumber; 
    driverNameField.text = driverName; 
} 

此外,在filesTableVC.m更改此代碼:

oldForm.dateField = [temp objectForKey:@"theDate"]; 
oldForm.theTime = [temp objectForKey:@"theTime"]; 
oldForm.carNumber = [temp objectForKey:@"carNumber"]; 
oldForm.driverName = [temp objectForKey:@"driverName"]; 

希望它可以幫助你

+0

它的工作原理!非常感謝!!! – Arkins

+1

@Arkins接受答案,因爲它有助於他人蔘考 –