2010-11-27 21 views
0

此代碼精美的作品對我的plist保存到文檔目錄。我已成功將我的plist保存到文檔目錄!現在,我無法加載回

- (void)viewDidLoad { 
[super viewDidLoad]; 
self.navigationItem.rightBarButtonItem = self.addButtonItem; 
NSString *path = [[NSBundle mainBundle] pathForResource:@"TitleArray" ofType:@"plist"]; 
NSMutableArray *tmpArray = [[NSMutableArray alloc]initWithContentsOfFile:path]; 
self.titles = tmpArray; 
[tmpArray release]; 

//TESTING NEW CODE FOR SAVING TO DOC DIR 
NSError *error; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *docDirPath = [documentsDirectory stringByAppendingPathComponent:@"TitleArray.plist"]; 

NSFileManager *fileManager = [NSFileManager defaultManager]; 

if(![fileManager fileExistsAtPath: docDirPath]) 
{ 
    NSString *bundle = [[NSBundle mainBundle] pathForResource:@"TitleArray" ofType:@"plist"]; 

    [fileManager copyItemAtPath:bundle toPath:docDirPath error:&error]; 

         NSLog(@"plist is copied to Directory"); 
         } 

我一直無法弄清楚如何將plist加載迴應用程序!

任何人都可以幫忙嗎?謝謝。

回答

4
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"TitleArray.plist"]; 
NSArray * myList = [NSArray arrayWithContentsOfFile:path]; 
NSMutableArray *tmpArray = [myList mutableCopy]; 
self.titles = tmpArray; 
[tmpArray release]; 

沒有工作?

+1

當你保存plist你保存它在你的文檔目錄。當你加載它時,你試圖從包中找回它,而不是你保存它的地方。納喬的代碼在這裏向您展示瞭如何從放置它的文檔目錄中檢索它。 – 2010-11-27 04:31:50

+1

感謝馬修爲Andy加入這樣的解釋;) – nacho4d 2010-11-27 04:34:30

0
NSError *error; NSArray *paths =  
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *docDirPath = [documentsDirectory stringByAppendingPathComponent:@"TitleArray.plist"]; 
NSFileManager *fileManager = [NSFileManager defaultManager]; 
if(![fileManager fileExistsAtPath: docDirPath]) 
{  
    docDirPath = [[NSBundle mainBundle] pathForResource:@"TitleArray" ofType:@"plist"]; 
} 
NSMutableArray *tmpArray = [[[NSMutableArray alloc] initWithContentsOfFile: docDirPath] mutableCopy]; 
相關問題