我谷歌的所有内容都会出现关于ALAsset的答案。
我有一个images.xcassets文件夹和一堆资产。
我想知道基于字符串的资产是否存在。
E.g。 if(images.xcassets.contains("assetName") == true)
您知道如何根据字符串检查资产是否存在吗?
答案 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"