无法设置 UIImage,总是返回 nil
Posted
技术标签:
【中文标题】无法设置 UIImage,总是返回 nil【英文标题】:Unable to set UIImage, always returns nil 【发布时间】:2015-01-17 02:21:18 【问题描述】:这可能是一个荒谬的问题,但我一辈子都想不通。我有一个 NSObject 子类的类,它有一个名为 image setup 的属性,如下所示:
@property (strong, nonatomic) UIImage *image;
我在其他地方初始化类并尝试在类中设置图像,如下所示:
UIImage *image = [UIImage imageNamed:@"Test"];
Class *item = [[Class alloc] init];
item.image = image;
但是当我尝试调用 item.image 时,它总是为零。 名为 Test 的图像在项目中并在其他地方使用,所以我知道它可以访问图像,但由于某种原因,它没有被复制到我的类的实例中。我在设置显示为 nil 的图像以及通过调试器使用命令后直接放置了 NSLog 消息和断点,这些命令也将类中的图像显示为 nil,而我创建的要复制的 UIImage 不是 nil。
我知道我做错了什么,但我已经搜索过但无法弄清楚它是什么。
感谢您的关注,非常感谢您的帮助。
编辑:
我正在尝试从类内部的方法访问图像。
- (void)save
if (self.image != nil)
// do some stuff
else
NSLog(@"image is nil");
而且它总是为零。
编辑 2: 再次感谢大家。我弄清楚了问题所在。我正在覆盖导致问题的设置器/获取器。
【问题讨论】:
你如何“调用” item.image?请发布该代码。 您还没有提供足够的信息...例如,您使用什么代码调用save
?并且不要只包含一行代码...您如何访问 Class
的更新实例?
尝试包含文件扩展名。此外,根据您运行的设备,您可能需要@2x Retina 版本。我还要确保当您在项目中选择文件时,检查器中的目标旁边有一个复选标记。
@JoshGafni "名为 Test 的图像在项目中并在其他地方使用,所以我知道它可以访问图像"
感谢您的意见,我正在用手机回复此问题,但我会在使用计算机后立即发布更多信息。
【参考方案1】:
它是 .png 文件吗?尝试这样做:
UIImage *image = [UIImage imageNamed:@"Test.png"];
【讨论】:
来自 Apple 文档:“在 ios 4 及更高版本上,如果文件为 PNG 格式,则无需指定 .PNG 文件扩展名。”以上是关于无法设置 UIImage,总是返回 nil的主要内容,如果未能解决你的问题,请参考以下文章
UIImagePickerController 中的 UIImage 方向问题
AFNetworking 后无法获取 UIImage 大小高度
在for循环中将PFFile数组转换为UIImage返回空数组Swift