私はアプリをすばやく作っています。でも、それが最良の解決策ではないにもかかわらず、ほとんどの場合、機能しているようです。だから私は、NSMutableArray arrから画像を取り出す単純な画像ビューを持っています。私は配列を作成し、この方法で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ではありません...
:アプリは分解し、コンソールは、この意見:
を* ERROR?あまりにも配列に入れすぎていませんか?何が私はここで行方不明、私を信頼して、私はすべての耳です。
おかげ
編集:ここではいくつかのより多くの情報がある
これは私が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];
}
}
}
それはdoesnのメモリ管理に問題があるように見えますが、私は自分でそれをプロとして考えていません...
私はあなたの実装についてもっと詳しく説明する必要があると思います。 NSMutableはあらかじめ定義されたサイズを持たないため小さすぎることはありません。あなたの問題は、あなたが値にアクセスしてどのように値を出しているかによります。あなたの配列を作成することができれば、その大きさはそれほど大きくありません。 –