2
NSMutableArray *images = [NSMutableArray arrayWithObjects:[UIImage imageNamed:@"JGirl 01.jpg"],
    [UIImage imageNamed:@"JGirl 03.jpg"], ... ,
    [UIImage imageNamed:@"JGirl 48.jpg"],
    nil];

self.view = [[[SlideShowView alloc] initWithImages:images byIndex:index] autorelease];

假设我的图像包含 48 个对象,但是当我调试图像时只有 23 个对象。

为什么我的所有图片都没有加载?

4

2 回答 2

9

听起来像是零终止的问题。如果您的图像对象之一(可能是第 24 个)由于名称拼写错误或图像文件损坏/不存在而返回 nil,它将像终止列表的最终“nil”一样,您的数组将之后忽略一切。arrayWithObjects: 和 dictionaryWithObjectsAndKeys 是一个常见的陷阱:

于 2009-11-05T11:30:51.760 回答
1

你真的不应该在 iPhone OS 上将那么多图像加载到内存中,当你这样做时,你必须加载图像的整个 RGB 表示,考虑到资源限制,这并不是你真正想做的事情设备。

于 2009-11-05T23:12:39.550 回答