[英]Why is this object being released?
我得到一個EXC_BAD_ACCESS
釋放時newImage
在下面的代碼片段的最后一行:
UIGraphicsBeginImageContext(newSize); [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); [self setImageToSave:newImage]; [newImage release];
我假設newImage
與上一行的調用一起釋放。 如果是這樣,為什么要在setImageToSave
方法中發布它?
看起來像這行:
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
正在創建一個自動釋放的對象。 在該行與該行之間:
[newImage release];
..它正在自動發布。 您試圖釋放一個自動釋放的(並且已經釋放的)對象,這就是為什么您會收到該錯誤的原因。 刪除發行版。 至於這行:
[self setImageToSave:newImage];
如果需要為任何發行版保存newImage,則應保留在此處或setImageToSave方法中。 請記住,由於您是手動保留它的,因此您需要在同一方法內或其他位置將它與發行版進行匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.