1

Xcodeを初めて使用し、配列から一連の画像を取得して画面に表示しようとしていますが、デバッガーを介して、forループが実行されていないことがわかります。

for (int i = 0; i <[imagePaths count]; i++)
{
    NSLog(@"I'm loading a card");

    UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 250, 350)];
    NSString *imgFilepath = [[NSBundle mainBundle] pathForResource:[imagePaths objectAtIndex:i] ofType:@"jpg"];
    UIImage *img = [[UIImage alloc] initWithContentsOfFile:imgFilepath];
    [imgView setImage:img];
    [self.view addSubview:imgView];

}

これを機能させるために欠けているものを見ている人はいますか?

4

3 に答える 3

1

for ループが実行されていないことがわかります。

[imagePaths count]ループの前に以下のコードを使用していることを確認してください。

ゼロになります。つまり、imagePaths配列はnull

NSlog(@"imagePaths count is: %d",[imagePaths count]);
于 2013-03-23T01:14:57.607 に答える
0
// Check what your imagePaths array contains, if it contains full path of image including filename and extension then use following code
for (int i = 0; i <[imagePaths count]; i++)
{
    NSLog(@"I'm loading a card");

    UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 250, 350)];
    UIImage *img = [[UIImage alloc] initWithContentsOfFile:[imagePaths objectAtIndex:i]];
    [imgView setImage:img];
    [self.view addSubview:imgView];
}
于 2013-03-23T08:14:16.847 に答える
0

実行されていない場合、imagePaths は nil でなければなりません。その直前にブレークポイントを追加し、その中に何かがあるかどうかを確認します。

初心者の間違いの可能性: imagePaths を適切に割り当てて初期化しましたか?

于 2013-03-23T19:49:18.560 に答える