我在谷歌上搜索到的所有东西都会找到关于 ALAsset 的答案。
我有一个 images.xcassets 文件夹和一堆资产。
我想知道那里是否存在基于字符串的资产。
例如if(images.xcassets.contains("assetName") == true)
您知道如何根据字符串检查资产是否存在吗?
这是检查它的一种方法。
NSString *someString = @"SomeStringFromSomwhere";
if ([UIImage imageNamed: someString])
{
//the image exists..
}
else
{
//no image with that name
}
只是更实际的答案:Swift
if let myImage = UIImage(named: "assetName") {
// use your image (myImage), it exists!
}
检查图像是否存在:Swift 3
if (UIImage(named: "your_Image_name") != nil) {
print("Image existing")
}
else {
print("Image is not existing")
}
对于Swift,这是我最终用来分配现有资产或默认系统映像的方法:
myImageView.image = UIImage(named: "myAssetName") ?? UIImage(systemName: "photo")
// When former is nil, assigns default system image called "photo"
我最终得到了两者的某种组合,并将其变成了一个在我的代码中使用的函数。如果提供的图像丢失,我还想返回默认图像。(斯威夫特 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)