I want to write the contents of an array to a text file in my iPhone application. I can load the array from the text file but i want to allow deleting of content through the arr
the approach in other answers works bu the file is written in a XML format. to simply write the contents of the array in a text file , I first Appended all the strings of the array into a large string then write that string into the text file .below is the code i used for that
NSString *stringToWrite=[[NSString alloc]init];
for (int i=0; i<[stringArray count]; i++)
{
stringToWrite=[stringToWrite stringByAppendingString:[NSString stringWithFormat:@"%@ ",[stringArray objectAtIndex:i]]];
}
[stringToWrite writeToFile:textFilePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
this will write the contents of the array in plain text format.
There is method in NSArray
to write the array into a file.
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag
Please check the Apple documentation
Write the contents of your original array as shown below:
[firstArray writeToFile:@"/Users/sample/Untitled.txt" atomically:YES];
Whenever you want to retrieve and modify the array, retrieve the contents of the file int an NSMutableArray:
NSMutableArray *myArr = [NSMutableArray arrayWithContentsOfFile:@"/Users/sample/Untitled.txt"];
[myArr removeLastObject]; //Any modification you wanna do
[myArr writeToFile:@"/Users/sample/Untitled.txt" atomically:YES];