欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

How to Save the Contents of an Array to the iPhone’s Filesystem

程序员文章站 2022-05-29 12:10:37
...
Here is one easy way to save data in your iPhone apps.

If you are using an array, say a list of strings, you can easily save that information to the documents directory of your app. In this example, we are going to create an array, fill it with values and then save the contents of the array to the documents directory.

Then, as we are going to stop the program and put in code that will retrieve the array from the filesystem. Finally, to prove that it all worked we will use an alert box to inform the user of what is in the array that we stored.

First, in the applicationDidFinishLaunching method put in this code:

//get the documents directory:
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];


//make a file name to write the data to using the
//documents directory:
NSString *fullFileName = [NSString stringWithFormat:@"%@/arraySaveFile", documentsDirectory];


//create an array and add values to it:
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:@"One"];
[array addObject:@"Two"];
[array addObject:@"Three"];


//this statement is what actually writes out the array
//to the file system:
[array writeToFile:fullFileName atomically:NO];


Now, your information has been saved to the iPhone’s file system in the documents directory of your app. Here is how you would retrieve the information that you saved:


//get the documents directory:
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

//make a file name to write the data to using the
//documents directory:
NSString *fullFileName = [NSString stringWithFormat:@"%@/arraySaveFile", documentsDirectory];

//retrieve your array by using initWithContentsOfFile while passing
//the name of the file where you saved the array contents.
NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:fullFileName];

//use an alert to display the first value in the array to prove
//that you were able to save and retrieve the information.
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert"
message:[array objectAtIndex:0]
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles: nil];

[alert show];
[alert release];



That is it – a quick and easy way to save information on the iPhone!