检查字符串名称是否与images.xcassets中的资产匹配

时间:2015-02-27 21:24:08

标签: ios swift xcode6 xcasset

我谷歌的所有内容都会出现关于ALAsset的答案。

我有一个images.xcassets文件夹和一堆资产。

我想知道基于字符串的资产是否存在。

E.g。 if(images.xcassets.contains("assetName") == true)

您知道如何根据字符串检查资产是否存在吗?

5 个答案:

答案 0 :(得分:10)

这是检查它的一种方法。

NSString *someString = @"SomeStringFromSomwhere";

 if ([UIImage imageNamed: someString])
 { 
    //the image exists..
 } 
 else
 {
    //no image with that name
 }

答案 1 :(得分:8)

检查图像是否存在: Swift 3

if (UIImage(named: "your_Image_name") != nil) {
  print("Image existing")
}
else {
  print("Image is not existing")
}

答案 2 :(得分:6)

更实际的回答: Swift

if let myImage = UIImage(named: "assetName") {
  // use your image (myImage), it exists!
}

答案 3 :(得分:0)

我最终将两者结合在一起,并将其变成了在整个代码中都可以使用的函数。如果缺少提供的图像,我也想返回一个默认图像。 (Swift 4版本)

func loadImage (named: String) -> UIImage {

    if let confirmedImage = UIImage(named: named) {
        return confirmedImage
    } else {
        return UIImage(named: "Default_Image.png")
    }

}

然后将图像加载到类似按钮的内容中,即可执行以下操作。

buttonOne.setImage(loadImage(named: "YourImage.png"), for: .normal)

答案 4 :(得分:0)

对于 Swift ,这是我最终用来分配现有资产或默认系统映像的东西:

myImageView.image = UIImage(named: "myAssetName") ?? UIImage(systemName: "photo")
// When former is nil, assigns default system image called "photo"