我有一个NSString
s数组:
Flower
Car
Tree
Cat
Shoe
其中一些字符串有与之相关的图像;有些人没有。我可以通过在名称后添加.png
来构建图片名称(例如Flower.png
)。
在尝试将图像加载到视图中之前,如何检查图像中是否存在该图像?
答案 0 :(得分:19)
这也应该有效,而且有点短:
if (flowerImage = [UIImage imageNamed:@"Flower.png"])
{
... // do something here
}
else
{
... // image does not exist
}
imageNamed:
方法将在主包中查找png文件。
答案 1 :(得分:6)
只需加载资源并检查它是否为nil
:
NSString* myImagePath = [[NSBundle mainBundle] pathForResource:@"MyImage" ofType:@"jpg"];
if (myImagePath != nil) {
// Do something with image...
}
答案 2 :(得分:3)
我会将图像指定为变量,然后您可以检查图像是否存在:
UIImage * flowerImage = [UIImage imageNamed:@"Flower.png"];
if (flowerImage) {
// Do something
}
else {
// Do something else
}
在接受的答案中,我们正在检查图片是否等于具有特定名称的图像。这可能会出错,因为如果
我们将返回no和
为图像指定一个变量,然后检查变量是否已分配将根据Flower.png是否存在向我们返回肯定的是或否
答案 3 :(得分:0)
我甚至不添加" .png"到文件名,它的工作原理:
NSArray *images = @[@"Flower", @"Car", @"Tree", @"Cat", @"Shoe"];
if ([UIImage imageNamed:images[0]]){
// there is a flower image
} else {
// no flowers for you
}
}