1

私はそのような問題を抱えています:別のプロジェクトからのリソースファイルに追加して作成したplistファイルがありますが、今ではそれを読むことができますが、それを変更する方法はわかりません。できれば助けてください。

4

1 に答える 1

1

アプリケーション バンドルに直接書き込むことはできないため、この使用のために plist をアプリケーションのドキュメント ディレクトリにコピーする必要があります。

NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"yourPlistName.plist"];

NSFileManager *fileManager = [NSFileManager defaultManager];

if (![fileManager fileExistsAtPath: path])
{
     NSString *bundle = [[NSBundle mainBundle] pathForResource:@”yourPlistName” ofType:@”plist”];

     [fileManager copyItemAtPath:bundle toPath: path error:&error];
}

次に、plist を編集するには、次を使用します。

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"yourPlistName.plist"];
    NSFileManager *fileManager = [NSFileManager defaultManager];

if ([fileManager fileExistsAtPath: plistPath ]) 
{
    NSMutableDictionary* infoDict = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath];
    [infoDict setObject:[NSNumber numberWithBool:hidden] forKey:@"yourKey"];
    [infoDict writeToFile:plistPath atomically:YES];
}

これがあなたyourPlistName.plistのplistでyourKey、新しい値を設定するキーです。

詳細については、このビデオを確認してください。

于 2012-08-01T16:55:38.960 に答える