Есть ли простой способ заменить один данные в plist? - PullRequest
1 голос
/ 11 мая 2010

Вот как я могу получить значение:

NSString *path =  [[NSBundle mainBundle] pathForResource:@"myPlist" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSArray *tempArray = [dict valueForKey:@"2"];
NSString *myTarget = [tempArray objectAtIndex:0];

"myTarget" - это то, что я хочу заменить, как я могу заменить его на @ "newString" и написать в plist? тыс.

1 Ответ

3 голосов
/ 11 мая 2010

Сделайте это:

NSString *path =  [[NSBundle mainBundle] pathForResource:@"myPlist" ofType:@"plist"];
NSData * data = [NSData dataWithContentsOfFile:path];
NSMutableDictionary * dict = (NSMutableDictionary *)[NSPropertyListSerialization
                                    propertyListFromData:data
                                    mutabilityOption:NSPropertyListMutableContainersAndLeaves
                                    format:NULL
                                    errorDescription:NULL];
NSMutableArray *tempArray = [dict valueForKey:@"2"];
NSString *myTarget = [tempArray objectAtIndex:0];
[tempArray replaceObjectAtIndex:0 withObject:newString];
[dict writeToFile:[path stringByExpandingTildeInPath] atomically:YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...