0

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

    [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

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

4

2 回答 2

0

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

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

Objective-c 属性

于 2013-06-08T09:58:36.450 回答
0

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

NSString *imageName = [[NSString alloc] initWithFormat::@"%@.png",[pages objectAtIndex:swipeCount]];
UIImage *myImage = [UIImage imageNamed:myImage];
[imageview setImage:image];
于 2013-06-08T09:49:07.003 回答