我有一个基于核心数据模型的应用程序,我正在将数据点加载回视图控制器。这是我得到的一切:
-[__NSCFString size]: unrecognized selector sent to instance 0xc530dd0
启用异常断点后,我发现此行导致异常:
[self.MyImage setImage:[self.device valueForKey:@"imagename"]];
这是一个非常奇怪的错误,因为这条线有效:
[self.StepItTitle setText:[self.device valueForKey:@"title"]];
为什么会崩溃?我需要修复什么来防止这种情况发生?
答案 0 :(得分:1)
对你的问题发表评论我添加了以下内容:
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];
当然,你只需要在一行代码中做同样的事情,但为了清晰起见,我花了很多时间。