2010-05-11 42 views
1

这里是我能得到的值:有没有简单的方法来取代plist中的一个数据?

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?你好。

回答

3

这样做:

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]; 
相关问题