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!