2012-02-28 61 views
0

問題我收到以下錯誤:- [NSConcreteMutableData _isResizable]:用的UIImage

-[NSConcreteData _isResizable]: unrecognized selector sent to instance 0x9954d30 

這個代碼:

UIImage *cachedImage = [self cachedImageForUrl:self.imageSource]; 
if (cachedImage) { 
    self.image = cachedImage; 
} 

什麼想法?

+0

請確保image和cachedImage都是UIImage類型而不是NSData。另外,檢查他們是否沒有超出範圍。 – Ravin 2012-02-28 08:11:53

+0

是的,它應該是一個UIImage,因爲我修改了上面的代碼..任何其他的想法? – adit 2012-02-28 08:13:49

+1

好吧做一件事(我假設self.image是對UIImage obejct的引用)。使用if(cachedImage && [cachedImage isKindOfClass:[UIImage class]]){// your code ..} ..這將檢查提供的對象cachedImage是否是UIimage類型。日誌顯示的問題是我們正在將一些NSData對象分配給圖像類型,並且正在嘗試對其執行一些圖像操作。 – Ravin 2012-02-28 08:16:38

回答

1

您是否在使用ARC?如果不是這樣,當self.image未正確保留cachedImage時可能會發生這種情況。當cachedImage被取消分配並且自己嘗試訪問它時,該存儲器現在可能指向隨機的其他類(如NSConcreteData)。你是如何爲UIImage *圖像定義@property的?