【问题标题】:Unable to set UIImage, always returns nil无法设置 UIImage,总是返回 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 的图像在项目中并在其他地方使用,所以我知道它可以访问图像"
  • 感谢您的意见,我正在用手机回复此问题,但我会在使用计算机后立即发布更多信息。

标签: ios iphone uiimage


【解决方案1】:

它是 .png 文件吗?尝试这样做:

UIImage *image = [UIImage imageNamed:@"Test.png"];

【讨论】:

  • 来自 Apple 文档:“在 iOS 4 及更高版本上,如果文件为 PNG 格式,则无需指定 .PNG 文件扩展名。”
猜你喜欢
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-28
  • 2015-03-05
  • 2014-08-25
  • 2016-05-17
相关资源
最近更新 更多