将图像从阵列加载到iPhone上的屏幕

时间:2013-03-23 00:46:44

标签: iphone xcode arrays debugging

我是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];

}

有没有人看到我缺少什么让这项工作?

3 个答案:

答案 0 :(得分:1)

  

我看到我的for循环没有运行。

在循环前使用以下代码检查[imagePaths count]

它将为零。这意味着您的imagePaths数组将为null

NSlog(@"imagePaths count is: %d",[imagePaths count]);

答案 1 :(得分: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];
}

答案 2 :(得分:0)

如果它没有运行,那么imagePaths必须为nil。在它之前添加断点并检查其中是否有任何内容。

可能出现新手错误:您是否正确分配并初始化了imagePath?