发送到实例的无法识别的选择器 - 方法存在

时间:2012-03-04 11:26:23

标签: iphone objective-c

这是我的代码:

UIImage *originalImage = [dictionary objectForKey:@"OriginalImage"];
UIImage *resizedImage = [originalImage imageScaledToFitSize:CGSizeMake(1024,1024)];

然后imageScaledToFitSize是一个存在的大方法,它知道(否则我会收到警告)。

第二行给我一个崩溃和这个错误:

-[NSPathStore2 imageScaledToFitSize:]: unrecognized selector sent to instance 0x11c660
2012-03-04 11:23:18.207 Journal[7935:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSPathStore2 imageScaledToFitSize:]: unrecognized selector sent to instance 0x11c660'

2 个答案:

答案 0 :(得分:2)

您确定字典是返回UIImage对象而不是图像的路径吗?例外似乎表明了这一点(NSPathStore2

答案 1 :(得分:0)

所以,你为所有imageScaledToFitSize:声明了方法UIImage, 但是当你从UIImage获取对象时,你确定 originalImage 指向dictionary吗?

试试这个:

   UIImage *originalImage = [dictionary objectForKey:@"OriginalImage"];
   if ([originalImage.class isSubclassOfClass:[UIImage class]]) {
       UIImage *resizedImage = [originalImage imageScaledToFitSize:CGSizeMake(1024,1024)];
   }else{
       // NSLog(@"%@", [UIImage class]); // OLD
       // NEW EDIT:
       NSLog(@"%@", originalImage.class);
   }