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

nil 終了の問題のように聞こえます。画像オブジェクトの 1 つ (おそらく 24 番目) が名前のタイプミスまたは画像ファイルの破損または存在しないために nil に戻った場合、それはリストを終了する最後の「nil」のように動作し、配列はそれ以降はすべて無視してください。これは、arrayWithObjects: および dictionaryWithObjectsAndKeys: でよくある落とし穴です。

于 2009-11-05T11:30:51.760 に答える
1

iPhone OSのメモリにそれほど多くの画像をロードするべきではありません。その場合、画像のRGB表現全体をロードする必要があります。これは、リソースの制約を考慮すると、実際には実行したいことではありません。端末。

于 2009-11-05T23:12:39.550 に答える