首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误: CUICatalog:提供的资产名称无效:(null),或比例因子无效: 2.000000

错误: CUICatalog:提供的资产名称无效:(null),或比例因子无效: 2.000000
EN

Stack Overflow用户
提问于 2014-02-25 18:18:55
回答 12查看 84.8K关注 0票数 130
代码语言:javascript
运行
复制
TableViewApplication[1458:70b] CUICatalog: Invalid asset name supplied: (null), or invalid scale factor: 2.000000

在使用TableViewController时收到此警告。如何纠正此错误?哪个块会受到影响?

EN

回答 12

Stack Overflow用户

发布于 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添加到条件来检查这一点。

票数 260
EN

Stack Overflow用户

发布于 2014-03-10 05:49:11

当您尝试使用[UIImage imageNamed:myImage]加载图像,但iOS不确定myImage是否真的是NSString时,通常会出现此错误,然后您会收到以下警告。

您可以使用以下命令修复此问题:

代码语言:javascript
运行
复制
[UIImage imageNamed:[NSString stringWithFormat:@"%@", myImage]]

或者,您可以简单地检查UIImage名称的length

代码语言:javascript
运行
复制
if (myImage && [myImage length]) {

    [UIImage imageNamed:myImage];
}
票数 64
EN

Stack Overflow用户

发布于 2014-08-03 15:04:05

由于错误提示您提供的名称是(null),这很可能是由调用[UIImage imageNamed:nil]引起的。或者更具体地说,传入的变量还没有设置,所以它等于nil。虽然使用stringWithFormat:可以消除错误,但我认为它很可能不会真正执行您想要的操作。如果您提供的名称是空值,则使用stringWithFormat:将导致它查找字面名称为“( nil )”的图像,就像您调用[UIImage imageNamed:@"(null)"]一样。

像这样的东西可能是更好的选择:

代码语言:javascript
运行
复制
if (name) {
    UIImage *image = [UIImage imageNamed:name];
} else {
    // Do something else
}

您可能希望在Xcode中的“执行其他操作”行上设置一个断点,以帮助您弄清楚为什么这段代码一开始会以nil值调用。

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22011106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档