0
Je crée une cellule personnalisée dans mon iphone aap et j'y ajoute aussi une image mais je continue d'avoir une erreur à [image drawatpoint: p];Pourquoi drawAtPoint d'UIImage renvoie-t-il une erreur dans ce code?
l'erreur indique *** - [UIImage drawAtPoint:]: message envoyé à l'instance désallouées 0x45cb1f0
mon code est
-(void)setImage:(UIImage *)i
{
//[image release];
image = i;
[self setNeedsDisplay];
}
- (void)setNeedsDisplay
{
[super setNeedsDisplay];
[contentView setNeedsDisplay];
}
- (void)drawContentView:(CGRect)r
{
CGContextRef context = UIGraphicsGetCurrentContext();
UIColor *backgroundColor = [UIColor yellowColor];
UIColor *textColor = [UIColor blackColor];
if(self.selected)
{
backgroundColor = [UIColor clearColor];
textColor = [UIColor whiteColor];
}
[backgroundColor set];
CGContextFillRect(context, r);
CGPoint p;
p.x = 3;
p.y = 3;
[textColor set];
UIImage *image2 = image;
[image2 drawAtPoint:p];
p.x += 70; // space between words
[text2 drawAtPoint:p withFont:firstTextFont];
//[image release];
}
J'ai ajouté l'image = [je retiens]; Cela a corrigé le problème – iosdevnyc
Maintenant que vous avez ajouté [i retain] ;, vous devez également décommenter le [release d'image]; appelez setImage: pour éviter les fuites de mémoire. –
Ok sonne bien – iosdevnyc