美文网首页
[__NSCFString size]崩溃

[__NSCFString size]崩溃

作者: 8ccbff331efe | 来源:发表于2016-09-06 16:20 被阅读0次

    [__NSCFString size]: unrecognized selector sent to instance 0x608000443300

    NSString *path = [[NSBundle mainBundle]pathForResource:@"compose.plist" ofType:nil]; 
    NSArray *btnINfo = [NSArray arrayWithContentsOfFile:path];
    NSDictionary *dict = btnINfo[i];
    [btn setImage:dict[@"icon"] forState:UIControlStateNormal];
    

    最后一句将代码写错错误将[UIImage imageNamed:dict[@"icon"]写dict[@"icon"]成,但是Xcode没有报错,也没有警报,运行的时候崩溃 ,
    全局断点显示崩溃的地方是在-(void)layoutSubviews方法的第一句

    原因是:运行时系统会将dict[@"icon"]认为是一个UIImage,后面系统在布局子控件的时候会调用-(void)layoutSubviews方法,就会调用UIImage的size方法,而现在的UIImage是一个字符串,没有实现size方法 就会崩溃

    所以再遇到这个崩溃原因的时候,可以先查找用到字符串设置空间的地方,比如设置image,应该说是尤其设置图片的时候,因为其他控件用到字符串的时候比较少

    个人见解

    相关文章

      网友评论

          本文标题:[__NSCFString size]崩溃

          本文链接:https://www.haomeiwen.com/subject/grbdettx.html