TableViewApplication[1458:70b] CUICatalog: Invalid asset name supplied: (null), or invalid scale factor: 2.000000

在使用TableViewController时收到此警告。如何纠正此错误?哪个块会受到影响?
发布于 2015-05-06 16:52:09
当有人试图将nil放在[UIImage imageNamed:]中时,就会出现这个错误
为[UIImage imageNamed:]添加符号断点

在模拟器上添加$arg3 == nil条件,在32位iPhone上添加$r0 == nil条件,或在64位iPhone上添加$x2 == nil条件。
运行您的应用程序并查看调试器将在何处停止。
附注:请记住,如果图像名称为空字符串,也会发生这种情况。您可以通过将[(NSString*)$x2 length] == 0添加到条件来检查这一点。
发布于 2014-03-10 05:49:11
当您尝试使用[UIImage imageNamed:myImage]加载图像,但iOS不确定myImage是否真的是NSString时,通常会出现此错误,然后您会收到以下警告。
您可以使用以下命令修复此问题:
[UIImage imageNamed:[NSString stringWithFormat:@"%@", myImage]]或者,您可以简单地检查UIImage名称的length
if (myImage && [myImage length]) {
[UIImage imageNamed:myImage];
}发布于 2014-08-03 15:04:05
由于错误提示您提供的名称是(null),这很可能是由调用[UIImage imageNamed:nil]引起的。或者更具体地说,传入的变量还没有设置,所以它等于nil。虽然使用stringWithFormat:可以消除错误,但我认为它很可能不会真正执行您想要的操作。如果您提供的名称是空值,则使用stringWithFormat:将导致它查找字面名称为“( nil )”的图像,就像您调用[UIImage imageNamed:@"(null)"]一样。
像这样的东西可能是更好的选择:
if (name) {
UIImage *image = [UIImage imageNamed:name];
} else {
// Do something else
}您可能希望在Xcode中的“执行其他操作”行上设置一个断点,以帮助您弄清楚为什么这段代码一开始会以nil值调用。
https://stackoverflow.com/questions/22011106
复制相似问题