1

XCODE の plist ファイル内の配列内の項目の追加と削除に問題があります。

次のコードで配列を読み取ることができます。

// Path to the plist (in the application bundle) ------>>>>>
NSString *path = [[NSBundle mainBundle] pathForResource:
                  @"Fav" ofType:@"plist"];

// Build the array from the plist  ------>>>

NSDictionary *favs = [[NSMutableDictionary alloc] initWithContentsOfFile: path];
Resepies = [favs objectForKey:@"Root"];

そして、これは私のplist構造です

ここに画像の説明を入力

シナリオは、ユーザーが特定のアイテムを一度にアレイに追加および削除できるようにすることです。

4

2 に答える 2

3

このコードを試してください -

NSString *path = [[NSBundle mainBundle] pathForResource: @"Fav" ofType:@"plist"];

// Build the array from the plist  ------>>>

NSDictionary *favs = [[NSMutableDictionary alloc] initWithContentsOfFile: path];

Resepies = [favs objectForKey:@"Root"];

[Resepies addObject:addYourObjectHere];

//then add this array into dictonary ; 

[favs setObject:Resepies forKey:@"Root"];

// now write dictionary to plist

[favs writeToFile:yourPlistName atomically:YES];
于 2012-06-12T12:29:04.413 に答える
2

アプリケーション バンドル内のファイルを変更することはできません。これは、上記のコードが実行しようとしていることです。

ファイルが変更可能であると想定されている場合は、最初にドキュメント フォルダーに移動し (最初の実行時など)、その後、そのファイルの読み取り/書き込みを行う必要があります。これを行う方法については、多くの質問があります。たとえば、 plist を作成し、plist をドキュメント ディレクトリにコピーします。

于 2012-06-12T11:01:44.007 に答える