【问题标题】:-[NSConcreteMutableData _isResizable]: issue with UIImage-[NSConcreteMutableData _isResizable]:UIImage 问题
【发布时间】:2012-02-28 08:08:07
【问题描述】:

我收到以下错误:

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

关于此代码:

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

有什么想法吗?

【问题讨论】:

  • 请确保 image 和 cachedImage 都是 UIImage 类型而不是 NSData。另外,检查它们是否超出范围。
  • 是的,它应该是 UIImage,因为我修改了上面的代码......还有其他想法吗?
  • ok 做一件事(我假设 self.image 是对 UIImage 对象的引用)。使用 if (cachedImage && [cachedImage isKindOfClass:[UIImage class]]){//your code..}.. 这将检查提供的对象 cachedImage 是否为 UIimage 类型。日志显示的问题是我们正在将一些 NSData 对象分配给图像类型,并且它正在尝试对其进行一些图像操作。
  • 尝试在启用僵尸的情况下运行。

标签: iphone objective-c ios ipad uiimage


【解决方案1】:

您在使用 ARC 吗?如果没有,当self.image 没有正确保留缓存图像时,就会发生这种情况。当 cachedImage 被释放并且 self 尝试访问它时,该内存现在可能指向随机的其他类(如 NSConcreteData)。你是如何为 UIImage *image 定义 @property 的?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 2011-01-08
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多