15

我在谷歌上搜索到的所有东西都会找到关于 ALAsset 的答案。

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

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

例如if(images.xcassets.contains("assetName") == true)

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

4

5 回答 5

18

这是检查它的一种方法。

NSString *someString = @"SomeStringFromSomwhere";

 if ([UIImage imageNamed: someString])
 { 
    //the image exists..
 } 
 else
 {
    //no image with that name
 }
于 2015-02-27T21:27:02.693 回答
16

只是更实际的答案:Swift

if let myImage = UIImage(named: "assetName") {
  // use your image (myImage), it exists!
}
于 2017-10-05T13:25:12.850 回答
15

检查图像是否存在:Swift 3

if (UIImage(named: "your_Image_name") != nil) {
  print("Image existing")
}
else {
  print("Image is not existing")
}
于 2017-09-07T10:43:07.500 回答
0

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

myImageView.image = UIImage(named: "myAssetName") ?? UIImage(systemName: "photo")
// When former is nil, assigns default system image called "photo"
于 2020-05-17T12:40:27.443 回答
0

我最终得到了两者的某种组合,并将其变成了一个在我的代码中使用的函数。如果提供的图像丢失,我还想返回默认图像。(斯威夫特 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)
于 2018-07-19T15:23:10.223 回答