0

私はメソッドでこのようなコードを書いていますViewdidload。しかし、それは file を作成しません.plist

コードがwi8なのか間違っているのかわかりません。そして、私はどこに書かなければなりませんか?

NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory =  [paths objectAtIndex:0]; //2
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"data1.plist"]; //3
NSFileManager *fileManager = [NSFileManager defaultManager];

if ( ![fileManager fileExistsAtPath:path] ) {
    NSString *pathToSettingsInBundle = [[NSBundle mainBundle] 
    pathForResource:@"data1" ofType:@"plist"];
}
4

3 に答える 3

0
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSString *documentsDirectory = [paths objectAtIndex:0]; 

plistpath = [[NSString alloc] initWithString:[documentsDirectory stringByAppendingPathComponent:@"Product.plist"]];

その後

[array writeToFile:path atomically:YES]; 

[Whatever [Array or Dictionary] you want to Write in Plist]

それでも plist が作成されない場合は、配列または辞書が空でなければならないかどうかを確認してください。

于 2012-06-30T10:14:10.263 に答える
0

if ブロック内に 2 行目を追加します

[fileManager copyItemAtPath:pathToSettingsInBundle toPath:path error:&error];
于 2012-06-30T08:17:53.983 に答える
0

それへのパスを作成したばかりなので、それを NSDictionary にロードしてみてください。

NSDictionary* mydictionary = [ NSDictionary dictionaryWithContentsOfFile: pathToSettingsInBundle];
于 2012-06-30T08:01:25.200 に答える