views:

409

answers:

1

I have this example, and I would like to make my_Picture an instance variable in order to use removeFromView. Any Ideas? I got all kinds of warnings and errors trying different approaches. Thank you in advance

- (void) viewDidLoad
{
   UIImageView *my_Picture = [[UIImageView alloc] initWithImage: myImageRef];
   [self.view addSubview:my_Picture];
   [my_Picture release];

   [super viewDidLoad];
}
+9  A: 

To make it an instance variable you would store the value in your class instead of as a temporary variable. You will also release it when your class is destroyed instead of after adding it as a subview.

E.g.

// header file (.h)
@interface MyController : UIViewController
{
  UIImageView* myPicture;
}
@end

// source file (.m)
- (void) viewDidLoad
{
   myPicture = [[UIImageView alloc] initWithImage: myImageRef];
   [self.view addSubview:myPicture];

   [super viewDidLoad];
}

- (void) dealloc
{
   [myPicture release];
   [super dealloc];
}
Andrew Grant
Thank you so much. Works perfectly.