2015-01-17 66 views
-1

这可能是一个荒谬的问题,但我无法弄清楚我的生活。我有一个子类NSObject的一类,它有一个属性叫做图像设置,是这样的:无法设置UIImage,总是返回零

@property (strong, nonatomic) UIImage *image; 

别的地方我初始化类,并试图设置图像中的类,像这样:

UIImage *image = [UIImage imageNamed:@"Test"]; 
Class *item = [[Class alloc] init]; 
item.image = image; 

但是当我尝试调用item.image时,它始终为零。 称为Test的图像位于项目中,并在别处使用,因此我知道它可以访问图像,但由于某种原因它不会被复制到我的课程实例中。我在设置显示为nil的图像后直接放置了NSLog消息和断点,并且通过调试器使用了命令,它们也显示类中的图像为零,而我创建的UIImage不是零。

我知道我做错了什么,但我已经搜查过,无法弄清楚它是什么。

感谢您的期待,任何帮助,非常感谢。

编辑:

我想从类里面的方法访问图像。

- (void)save { 
    if (self.image != nil) { 
     // do some stuff 
    } else { 
     NSLog(@"image is nil"); 
    } 
    } 

它总是提高为零。编号2: 再次感谢大家。我找出了问题所在。我压倒了导致问题的制定者/获得者。

+0

你是如何“调用”item.image?请发布该代码。 –

+0

你还没有提供足够的信息...例如,你用什么代码来调用'save'?不要只包含单行代码......你如何访问更新的'Class'实例? –

+0

尝试使用文件扩展名。还取决于您正在运行的设备,您可能需要@ 2x视网膜版本。我还会确保在项目中选择文件时,检查器中的目标旁边会出现复选标记。 –

回答

1

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

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

来自Apple文档:“在iOS 4及更高版本中,如果文件采用PNG格式,则不需要指定.PNG文件扩展名。” – zaph