因為使用時候的類型和初始化的對象類型不匹配造成的,例如
- (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;
}