If I want the user to be able to edit entries to a table with number data, (the user would click on a table cell, then on that child view, they would enter a number, and return back to the main table view), I was thinking I would just add entries to a NSMutabaleArray. If so, when the user leaves the application, are those values still there? If they are, do I just need to also have a clear table method that releases the array? Thanks.
                +2 
                A: 
                
                
              
            Your app's data is not persisted automatically.
If you have a small amount of data, you can to write out a collection such as an array to a Property List (plist) file in your app's Documents directory.
If you have a large amount of data, I would recommend using Core Data.
                  gerry3
                   2009-12-24 18:31:31
                
              
                
                A: 
                
                
              
            The quick and dirty way is to use an NSKeyedArchiver to write the NSArray out to a file. You'll then have to read the data from the file back into your NSArray when the App launches.
Here's a snippet:
This gets the document path:
- (NSString*)pathForDataFile
{
    //Get the path of the Documents directory
    NSArray* paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES );
    NSString* documentsDirectory = [paths objectAtIndex: 0]; //Path to the documents directory
    //Get the path to my file in /Documents  
    NSString* documentsPath = [documentsDirectory stringByAppendingPathComponent: 
             [NSString stringWithFormat: @"%@.plist", @"FileName"]];
    return documentsPath;
}
These will save and load:
- (BOOL)saveDataToDisk
{
    NSString* path = [self pathForDataFile];
    NSMutableDictionary* rootObject = [NSMutableDictionary dictionary];
    if ( self.yourArray )
     [rootObject setValue: self.powerListCollection.items forKey: kYourKey];
    [NSKeyedArchiver archiveRootObject: rootObject toFile: path];
    return YES;
}
-
- (BOOL)loadDataFromDisk
{
    NSString* path = [self pathForDataFile];
    NSFileManager* manager = [NSFileManager defaultManager];
    if ( [manager fileExistsAtPath: path] )
    {
     NSLog( @"Saved data found, loading data from %@", path );
     NSMutableDictionary* rootObject = nil;
     rootObject = [NSKeyedUnarchiver unarchiveObjectWithFile: path]; 
     NSArray* self.yourArray = [rootObject objectForKey: kYourKey];
    }
    else
    {
     NSLog( @"No saved data, initializing objects with default values." );
    }
    return YES;
}
Note that you'll need to retain whatever you get back from objectForKey:
                  jessecurry
                   2009-12-24 20:23:02