When my iPhone app runs for the first time it asks you to select an image from your iPhone library to use as the background throughout your app. Here is the relevant code:

```
/*
 *   Responds when an image is selected (from browsing)
 */
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
    [self dismissModalViewControllerAnimated:YES];
    if ([mediaType isEqualToString:(NSString *)kUTTypeImage])
    {
        //Not really sure what to do here
        UIImage *image = [[UIImage alloc] initWithData:UIImageJPEGRepresentation([info objectForKey:UIImagePickerController], .2)];
    }
}

```

I now what to save this image (or a reference to this image) so that I can use it throughout my app as the background for some (60%) of my `UIViewController`

```
self.view.backgroundColor = [UIColor colorWithPatternImage:image];

```

**What is the best/most efficient/easiest way to do this**. I thought about saving the image into `NSUserDefaults` but this didn't seem right because `NSUserDefaults` is only supposed to be for small objects. Should I save it to disk? But then won't my app be really slow having to read from disk every time I segue? (If this is the proper way, how would I do this?)