[__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;
        }
            



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM