Ich erhalte Fehler vom Typ EXC-BAD-ACCESS, wo ich eine neue UIImage-Instanz erstelle, indem ich den Wert eines bereits existierenden UIImage (wie unten) zuweise, und ich versuche herauszufinden, was das Problem ist. Es gibt einen Haufen Code zu sortieren und ich bin mir nicht sicher, wo ich anfangen soll, also werde ich die Quelle nicht posten - aber es könnte mir bei meiner Untersuchung helfen, mir zu sagen, Was genau los ist (Speicher (-wise) wenn ich ein neues UIImage erstelle, indem ich von einem anderen gebe?Was passiert hinter den Kulissen, wenn ich ein neues UIImage durch Zuweisung erstelle?
(in the .h)
UIImage* myExistsImage;
...
@property (retain) UIImage* myExistsImage;
...
-(UIImage*)rotateImage:(UIImage*)imageToRotate;
----------------------------------------------------
(in the .m)
@synthesize myExistsImage;
...
UIImage* myNewImage = [self rotateImage:myExistsImage];
...
-(UIImage*)rotateImage:(UIImage*)imageToRotate
{
UIImage* rotatedImage = imageToRotate;
//Rotate Image Here (details omitted)...
return rotatedImage;
}
Oh. Also, da es nur ein Zeiger ist, wenn die tatsächlichen Bilddaten, die er zeigt, freigegeben werden, dann könnte dies der Grund sein, dass mein EXC-BAD-ACCESS korrekt ist? Vielen Dank! – RexOnRoids
Ja. Wenn Sie möchten, dass die Daten erhalten bleiben, bis beide Zeiger fertig sind, fügen Sie einfach einen Retain hinzu, wenn Sie den Zeiger kopieren. –