【发布时间】:2014-12-17 05:34:22
【问题描述】:
我正在使用 xib 来制作我的一个应用程序的 UI。我在控制台中收到几个与“CUICatalog:提供的资产名称无效:(null)”相关的警告。从研究中我了解到,如果我们在 xib 中提供错误的图像名称,则会发生此错误。但是在这里我想知道是否有任何方法可以指出它引发错误、xib 名称或错误图像名称等的位置。
【问题讨论】:
我正在使用 xib 来制作我的一个应用程序的 UI。我在控制台中收到几个与“CUICatalog:提供的资产名称无效:(null)”相关的警告。从研究中我了解到,如果我们在 xib 中提供错误的图像名称,则会发生此错误。但是在这里我想知道是否有任何方法可以指出它引发错误、xib 名称或错误图像名称等的位置。
【问题讨论】:
我刚刚修复了这个错误。只需检查函数 [UIImage imageNamed:(NSString*) imageName] 的用法。如果 imageName 为 nil,则会发生错误。
在我的代码中:
UIImageView*imageView=[[UIImageView alloc]initWithFrame:frame];
if (imageName!=nil) {
imageView.image=[UIImage imageNamed:imageName];
}
【讨论】:
当您使用空字符串调用 UIImage(named: String) 时会发生此错误。您可以使用此静态方法检查名称是否为空。
static func create(_ name: String) -> UIImage? {
guard !name.isEmpty else { return nil }
return UIImage(named: name)
}
【讨论】: