[__NSCFConstantString size]: unrecognized selector sent to instance 错误

因为使用时候的类型和初始化的对象类型不匹配造成的,例如

- (NSMutableDictionary *)getMenuItems
{
    NSArray *defaultTmp = [NSArray arrayWithObjects:@"menu_friend_icon@2x.png",@"menu_message_icon@2x.png", @"menu_announcemen_icon@2x.png",@"menu_album_icon@2x.png",@"menu_more_icon@2x.png",nil];
    self.menuitemDefaultImages = defaultTmp;

    NSArray *highlightTmp = [NSArray arrayWithObjects:@"menu_friend_onfocus_icon@2x.png",@"menu_message_onfocus_icon@2x", @"menu_announcemen_onfocus_icon@2x",@"menu_album_onfocus_icon@2x.png",@"menu_more_onfocus_icon@2x.png",nil];
    self.menuitemHighlightImages = highlightTmp;  //这里都是nsstring类型的名字
    
    NSArray *labelTmp = [NSArray arrayWithObjects:@"好友",@"消息", @"公告",@"相册",@"更多",nil];
    self.menuitemLabels = labelTmp;
    
    NSMutableDictionary *tmp = [NSMutableDictionary dictionary];
    [tmp setObject:self.menuitemDefaultImages forKey:@"Default"];
    [tmp setObject:self.menuitemHighlightImages forKey:@"Highlight"];
    [tmp setObject:self.menuitemLabels forKey:@"Labels"];

    self.menuitemDictionary = tmp;
    return self.menuitemDictionary;

}
self.selectedStatuImages = [[self.announce getMenuItems]objectForKey:@"Highlight"];
    
    switch (button.tag) {
        case 0:  //friends
        {
            self.friendBtn.selected = !self.friendBtn.selected;

            if (self.friendBtn.selected) {
                [self.friendBtn setImage:[self.selectedStatuImages objectAtIndex:0] forState:UIControlStateSelected]; //这里获取时候的setimage参数却是UIImage类型的,所以会报错。要修改成[button setBackgroundImage:[UIImage imageNamed:[self.normalStatuImages objectAtIndex:index]] forState:UIControlStateNormal];
            }else{
            
                [self.friendBtn setImage:[self.normalStatuImages objectAtIndex:0] forState:UIControlStateNormal];
            }
            
            break;
        }
            


转载于:https://www.cnblogs.com/lisa090818/p/3401240.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值