因此,我正在制作一个应用程序非常快,即使它不是最好的解决方案,它似乎大部分工作。所以我有一个简单的图像视图,它将图像从NSMutableArray中取出。我创建阵列并以这种方式来填充它的viewDidLoad内:我是否在我的NSMutableArray中放了太多?请帮忙!
arr = [[NSMutableArray alloc] init];
[arr addObject:[UIImage imageNamed:@"181940jpg"]];
[arr addObject:[UIImage imageNamed:@"168026.jpg"]];
[arr addObject:[UIImage imageNamed:@"168396.jpg"]];
[arr addObject:[UIImage imageNamed:@"168493_.jpg"]];
和我继续做这一行的130张图像。显然这是一个很大的阵列。我不知道这是否是一种非常糟糕的做法,但如果是这样,我乐于接受建议!当我用一些简单的后退和前进按钮浏览数组时,基于一个简单的计数器变量将图像从数组中拉出,事情工作正常,直到图像45-ish。该应用程序分解和控制台这样说:
*错误:ImageIO的“ImageProviderCopyImageBlockSetCallback”头是不是CFDictionary ...
它是否有助于如果我打破了我的图片到独立阵列?我只是把太多的数组放入?我在这里想念的是什么,相信我,我是耳朵。
感谢
编辑:这里是一些更多的信息
这是我如何通过阵列筛选,使用一个UISegmentedControl在屏幕上方设置:
-(void) pickedOne{
if(segmentedControl.selectedSegmentIndex == 1){
NSLog(@"hey");
if(position < [arr count]-1){
position++;//This is my global counter variable
UIImage * img = [arr objectAtIndex:position];
[imageView setImage:img];
[img release];
}
}else if(segmentedControl.selectedSegmentIndex ==0){
if(position >0){
position--;
UIImage * img = [arr objectAtIndex:position];
[imageView setImage:img];
[img release];
}
}
}
一点也没有这似乎不是一个内存管理的问题,但再次,我不认为自己是一个亲在那以任何方式...
我想你需要提供更多关于你的实现的细节。定义一个NSMutable不会太小,因为它没有预定义的大小。我认为你的问题更多的是你如何访问和发布价值。如果你设法创建你的数组,那么它不会太大。 –