【问题标题】:UIImage isKindOfClass issueUIImage isKindOfClass 问题
【发布时间】:2013-06-08 06:25:48
【问题描述】:

这是我的应用程序中的代码,

    [imageview setAlpha:1.0f];
    [imageview setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@.png",[pages objectAtIndex:swipeCount]]]];
    [imageview setFrame:CGRectMake(-300, 0, 1368, 1000)];

编辑:

      pages = [[NSArray alloc] initWithObjects:@"page1",@"page2",@"page3",@"page4",@"page5",@"page6",@"page7b",@"page8",@"page9",@"page10a",@"page11",@"page12",@"page13b",@"page14",@"page15",@"page16a",@"page17",@"page18",@"page19",@"page20",@"page21",@"page22",@"page23",@"page24",@"page25", nil];
      imageview=[[UIImageView alloc]init];

它工作正常,除了应用程序进入后台并返回前台之外的问题显示以下错误,

  *** -[UIImage isKindOfClass:]: message sent to deallocated instance 0x1e8b10

代码有什么问题? 请帮帮我

【问题讨论】:

  • 您在使用 ARC 吗?你是如何启动你的 UIImageView 和你的 Pages 数组的。
  • @kushyar 是的..我正在使用 ARC
  • 太好了,你能编辑你的帖子,这样我们就可以看到你是如何启动'pages'数组和你的UIImageView的?
  • @kushyar 问题已更新
  • 请为你的 UIImage 分配一个属性并合成它,你的 UIImage 对象没有获得内存

标签: iphone ipad ios6 uiimage


【解决方案1】:

是的,您需要为您的UIImage 分配内存。基本上发生的情况是,您的图像被临时存储在内存中,并在关闭应用程序时释放,因此 iOS 可以将该内存分配给更紧迫的需求。您可以按如下方式修复它。我还要分配一个字符串,因为 stringWithFormat 返回一个 autorelease String

NSString *imageName = [[NSString alloc] initWithFormat::@"%@.png",[pages objectAtIndex:swipeCount]];
UIImage *myImage = [UIImage imageNamed:myImage];
[imageview setImage:image];

【讨论】:

    【解决方案2】:

    尝试使用属性。将 array,imageView 作为属性然后使用 self.pagesself.imageView

    查看这篇关于属性的好文章

    Objective-c properties

    【讨论】:

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