2010-03-28 4 views
0

J'ai un UIImageView qui commence par une image (loading.png) spécifiée dans IB. Lorsque mon application démarre, une nouvelle image est téléchargée sur Internet pour remplacer l'image existante. Je fais ce qui suit pour remplacer l'image:Quelle est la bonne façon de définir un UIImageView avec un UIImage?

if(object.imageView.image != nil){ 

[object.imageView.image release]; 
object.imageView.image = nil;    
}  
object.imageView.image = [UIImage imageNamed:@"downloadedimage.png"]; 

Est-ce la bonne façon de réinitialiser une image? J'obtiens EXC_BAD_ACCESS en le faisant.

+0

Non - vous ne possédez pas la propriété, vous ne devriez donc pas appeler la version. –

Répondre

4

image property de UIImageView est déclarée comme

@property(nonatomic, retain) UIImage *image; 

Cela signifie que lorsque vous définissez cette propriété, l'ancienne valeur sera automatiquement -release « d. Donc, cette 1 ligne est suffisante:

object.imageView.image = [UIImage imageNamed:@"downloadedimage.png"]; 
Questions connexes