UIImage是KindOfClass的问题

时间:2013-06-08 06:25:48

标签: iphone ipad ios6 uiimage

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

    [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

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

2 个答案:

答案 0 :(得分:0)

是的,您需要为UIImage分配内存。基本上发生的是你的图像暂时存储在内存中并在关闭应用程序时解除分配,因此iOS可以将内存分配给更直接的需求。你可以修复如下。我还要分配一个字符串,因为stringWithFormat会返回autorelease String

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

答案 1 :(得分:0)

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

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

Objective-c properties