Ios [\uu NSCFString size]:异常-Objective-C(Xcode)

Ios [\uu NSCFString size]:异常-Objective-C(Xcode),ios,exception,core-data,crash,Ios,Exception,Core Data,Crash,我有一个基于核心数据模型的应用程序,我正在将数据点加载回视图控制器。以下是我得到的奖状: -[__NSCFString size]: unrecognized selector sent to instance 0xc530dd0 打开异常断点后,我发现此行导致了异常: [self.MyImage setImage:[self.device valueForKey:@"imagename"]]; 这是一个非常奇怪的错误,因为这行代码可以工作: [self.StepItTitle setTe

我有一个基于核心数据模型的应用程序,我正在将数据点加载回视图控制器。以下是我得到的奖状:

 -[__NSCFString size]: unrecognized selector sent to instance 0xc530dd0
打开异常断点后,我发现此行导致了异常:

[self.MyImage setImage:[self.device valueForKey:@"imagename"]];
这是一个非常奇怪的错误,因为这行代码可以工作:

[self.StepItTitle setText:[self.device valueForKey:@"title"]];

为什么它会崩溃?我需要修复什么来防止这种情况发生?

在对您的问题进行评论时,我添加了以下内容:

self.MyImage
是对类型为
UIImageView
的对象的引用,并且
[self.device valueForKey:@“imagename”]
返回带有图像名称的
NSString

话虽如此,异常清楚地表明您(或框架)正在调用
size
NSString
对象
NSString
没有该方法,因此是异常的原因

相反,您要做的是创建一个给定文件名的
UIImage
,并将其设置为视图。 要实现这一点,您必须执行以下操作

NSString *filename = [self.device valueForKey:@"imagename"];
UIImage *image = [UIImage imageNamed:filename]; //This loads an image if present in the main bundle
[self.MyImage setImage:image];

当然,您可以在一行代码中执行相同的操作,但为了清晰起见,我花费了大量时间。

您的问题是什么?例外情况是,您正在对字符串对象调用
size
,而该对象当然没有该方法。
[self.device valueForKey:@“imagename”]
的结果是什么?尝试使用
NSLog(@“%@,[self.device valueForKey:@“imagename]”)
@Neeku我的问题已经在上面澄清了。我忘了:我想象
MyImage
是一个
NSImage
对象?您应该添加更多信息:至少是对象的类型,在
self.device
对象中有什么内容。+1用于编辑和澄清。在询问之前,一定要仔细搜索,一旦询问,就尽可能提供详细信息,包括代码和屏幕截图。(:虽然:寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题说明的问题对其他读者没有用处。请参阅:。再次感谢Francesco!