Iphone 正在尝试初始化可变数组,然后用名称引用的图像加载该数组

Iphone 正在尝试初始化可变数组,然后用名称引用的图像加载该数组,iphone,xcode,ios4,Iphone,Xcode,Ios4,我正在尝试编写我的第一个iOS应用程序,它不是出自一本书(尽管我猜我正在疯狂地把东西缝合在一起……) 此时,我正在尝试初始化一个可变数组,然后用名称引用的图像加载它(它们与项目在一起) 这就是我目前所拥有的,根据我在调试器中看到的情况,我的数组是空的 谢谢你的帮助 问候, 史蒂夫·奥沙利文你有 imageArray = [[NSMutableArray alloc] init]; 然后 imageArray = [[NSMutableArray arrayWithObjects: ...

我正在尝试编写我的第一个iOS应用程序,它不是出自一本书(尽管我猜我正在疯狂地把东西缝合在一起……)

此时,我正在尝试初始化一个可变数组,然后用名称引用的图像加载它(它们与项目在一起)

这就是我目前所拥有的,根据我在调试器中看到的情况,我的数组是空的


谢谢你的帮助

问候,

史蒂夫·奥沙利文

你有

imageArray = [[NSMutableArray alloc] init];
然后

imageArray = [[NSMutableArray arrayWithObjects: ...
这个漏洞。摆脱第一个

但是对于第二个,您需要使用
[[NSMutableArray alloc]initWithObjects:…
,这样它就会一直存在。

您需要澄清“何时”是指您看到的数组是空的。 您确定在调试时调用了viewDidLoad吗

而且…在代码示例中,您不需要这样做,这样做会造成内存泄漏

imageArray = [[NSMutableArray alloc] init]; 

除此之外,构建数组的方式没有问题

尝试将图像分配到它们自己的行中,并查看是否有指针:

UIImage *jupImg = [UIImage imageNamed:@"jupiter2.JPG"];
如果该值为空,则再次检查文件名是否正确,以及“复制包资源”是否正在将映像复制到可以找到它的位置

如果你有一个指针,试着访问它的一些值,比如宽度和高度,看看它们是否有意义

--

编辑

等一下,我想了想,想起了不久前我遇到的一个类似的问题

我认为问题在于我们使用的是可变数组,而不是静态数组。您用于初始化数组的方法没有完全为可变数组定义

我认为你必须尝试以下方式:

NSMutableArray *imageArray = [[NSMutableArray alloc] init];

[imageArray addObject:[UIImage imageNamed:@"jupiter2.JPG"]];
... add other images here ...
在此之后,我打赌您现在的阵列中确实有一些内容。

试试这个

-->Remove this. imageArray = [[NSMutableArray alloc] init];
-->Try this.
imageArray = [[NSMutableArray alloc]initWithObjects: 
                        [UIImage imageNamed:@"jupiter2.JPG"],
                        [UIImage imageNamed:@"waffles?.JPG"],
                        [UIImage imageNamed:@"enterprise.JPG"],
                        [UIImage imageNamed:@"wrunning.JPG"],
                        [UIImage imageNamed:@"ApolloCSM.JPG"],
                        nil];
如果没有特别的原因

[super viewDidLoad];

把这个放在上面。

你到底想做什么?
[super viewDidLoad];