UIImage成为NSNumber

时间:2013-04-11 11:49:02

标签: ios ios6 uiimageview uiimage appdelegate

我正在尝试将UIImage保存到app delegate。当我第一次加载UIViewController时,它返回UIImage(参见第一个屏幕截图)。

救救我!被困在这里将近2天。

enter image description here

但是当我重定向回那个控制器时,UIImage变成了NSNumber。 (见第二个屏幕截图) enter image description here

在我离开控制器之前,我将图像设置为app delegate,如下所示

UIGraphicsBeginImageContextWithOptions(self.imageView.frame.size,YES, 0.0);
[self.imageView.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

del.getImage = resultingImage;

1 个答案:

答案 0 :(得分:0)

使用调试器最容易解决此问题。首先,正如评论所说,将属性名称更改为myImage。然后,在你的UIViewController类中,提供你自己的setter:

- (void)setMyImage:(UIImage *)myImage
{
    NSLog(@"Image class: %@", NSStringFromClass([myImage class]));
    if([myImage isKindOfClass:[NSNumber class]]) {
        NSLog(@"YIKES: a number!");
    }
    _myImage = myImage; // assumes ARC
}

在第二个NSLog或两者上放置一个断点。当你点击第二个断点时,查看调用堆栈,你会发现谁在设置它。