2010-11-27 9 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を保存すると、ドキュメントディレクトリに保存されました。あなたがそれをロードしているときに、バンドルからそれを取得しようとしています。ここのNachoのコードは、あなたが置いたドキュメントディレクトリからそれを取得する方法を示しています。 –

+1

Andyのこの種の説明を追加してくれてありがとうMatthew;) – nacho4d

+0

HEY !!!!できます!! nacho4dありがとう! Matthew - 私のためにそれを綴ってくれてありがとう。ほんとうにありがとう。 –

0

あなたのアプリのメインバンドルに含まれているplistを上書きする方法を尋ねるなら、それはできないことを知っておくべきです。 Can you update a file in the application bundle?

+0

Hi Endemic、私はplistを上書きしようとしていませんでした(私の貧弱な言葉で質問するように思われます)。ちょうどdocディレクトリからデータを取得したいと思っていました。アプリが使用するために。真剣に、これを言う正しい方法は何ですか?それは読み込み/書き込み、または何か?ありがとうございました。 –

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]; 
関連する問題