如何检查 Xcode 资源目录中是否存在图像?

5
我正在通过HTTP获取JSON数据,并希望使用自定义的MKAnnotationView在MKMapView中显示它们。到此为止没有问题。
糟糕的事情是REST服务可能返回我.xcassets文件中没有相应的图钉类型。有没有办法检查App的Asset Catalog中是否有条目,并避免出现如下消息:
CUICatalog:提供了无效的资产名称:NonExistingImage,或无效的比例因子:2.000000
示例代码如下:
NSString * imageName = @"NonExistingImage";

if (imageName != nil) {
    // this line creates the above message
    UIImage * image = [UIImage imageNamed:imageName]; 

    // checking for image != nil, otherwise use default image
} else {
    // default image
}

1
好问题。它可以简化为“如何检查XCode资产目录中是否存在图像?” - tilo
谢谢。已更正标题 ;) - mvoelkl
有没有理由删除那个消息?因为无效的资产名称只会返回nil,不会抛出异常,所以它似乎并没有什么危害。 - TAKeanice
1个回答

3

我的解决方案: 看起来你调用了一个空的NSString(或nil)的imageNamed方法,这个信息被记录下来。如果传递的图像不存在,得到的UIImage为nil,并且不会创建任何消息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接