- iPhone read/write .plist file
- NSString *filePath = @"/Users/Denis/Documents/Xcode/iPhone/MLBB/data.plist";
- NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
- [plistDict setValue:@"Man" forKey:@"Gender"];
- [plistDict writeToFile:filePath atomically: YES];
- - (IBAction)segmentControlChanged{
- NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- NSString *documentsDirectory = [paths objectAtIndex:0];
- NSString *plistLocation = [documentsDirectory stringByAppendingPathComponent:@"data.plist"];
- NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:plistLocation];
- if (Gender.selectedSegmentIndex == 0) {
- [plistDict setObject:@"Man" forKey:@"Gender"];
- [plistDict writeToFile:plistLocation atomically: YES];
- }
- else
- {
- [plistDict setObject:@"Women" forKey:@"Gender"];
- [plistDict writeToFile:plistLocation atomically: YES];
- }
- }
- NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- NSString *documentsDirectory = [paths objectAtIndex:0];
- NSString *plistLocation = [documentsDirectory stringByAppendingPathComponent:@"myplist.plist"];
- - (NSString *)copyFileToDocumentDirectory:(NSString *)fileName {
- NSError *error;
- NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
- NSUserDomainMask,
- YES);
- NSString *documentsDir = [paths objectAtIndex:0];
- NSString *documentDirPath = [documentsDir
- stringByAppendingPathComponent:fileName];
- NSArray *file = [fileName componentsSeparatedByString:@"."];
- NSString *filePath = [[NSBundle mainBundle]pathForResource:
- [file objectAtIndex:0]
- ofType:[file lastObject]];
- NSFileManager *fileManager = [NSFileManager defaultManager];
- BOOL success = [fileManager fileExistsAtPath:documentDirPath];
- if(!success) {
- success = [fileManager copyItemAtPath:filePath
- toPath:documentDirPath
- error:&error];
- if (!success)
- NSAssert1(0, @"Failed to create writable txt file file with message '%@'.",
- [error localizedDescription]);
- }
- return documentDirPath;
- <array> <dict> key-value data </dict> <dict> key-value data </dict> </array>
- /*Code to write into file*/
- - (void)addToMyPlist {
- // set filemanage object
- NSFileManager *man = [NSFileManager defaultManager];
- // check whether file is exists or not
- NSString *plistPath = [self copyFileToDocumentDirectory:@"MyPlistFile.plist"];
- BOOL isExist = [man fileExistsAtPath:plistPath];
- // BOOL done = NO;
- if(!isExist) {
- // NSLog(@" n File not exist");
- // done = [man copyItemAtPath:file toPath:fileName error:&error];
- }
- // NSLog(@" n done===%d",done);
- // get data from plist file
- NSMutableArray * plistArray = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
- // create dictionary using array data and bookmarkKeysArray keys
- NSArray *keysArray = [[NSArray alloc]initWithObjects:@"StudentNo",nil];
- NSArray *valuesArray = [[NSArray alloc]initWithObjects:[NSString stringWithFormat:@"1234"],nil];
- NSDictionary plistDict = [[NSDictionary alloc]initWithObjects: valuesArray forKeys: keysArray];
- [plistArray insertObject:poDict atIndex:0];
- // write data to plist file
- //BOOL isWritten = [plistArray writeToFile:plistPath atomically:YES];
- [plistArray writeToFile:plistPath atomically:YES];
- plistArray = nil;
- // check for status
- // NSLog(@" n written == %d",isWritten);
- }