【发布时间】: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 的图像在项目中并在其他地方使用,所以我知道它可以访问图像"
-
感谢您的意见,我正在用手机回复此问题,但我会在使用计算机后立即发布更多信息。