2012-10-24 156 views
0

我有在运行时,说麻烦图像

一个问题 - [__ NSCFString _isResizable]:无法识别的选择发送到实例0x6a86a80 2012年10月24日14:21:08.070糖尿病饮食指南[ 767:C07] *终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因是: ' - [__ NSCFString _isResizable]:无法识别的选择发送到实例0x6a86a80'

我认为问题出在代码中的这些部分:

/*ViewControllerManual.m*/ 
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    NSDictionary* tier = (NSDictionary*)sender; 
    if ([segue.identifier isEqualToString:@"loopbackSegue"]) { 
     ViewControllerManual* nextController = segue.destinationViewController; 
     nextController.items = [tier objectForKey:@"items"]; 
     nextController.title = [tier objectForKey:@"name"]; 
    } else if ([segue.identifier isEqualToString:@"detailSegue"]) { 
     DetailsController* nextController = segue.destinationViewController; 
     nextController.name = [tier objectForKey:@"name"]; 
     nextController.foodPicture = [tier objectForKey:@"foodPicture"]; 
     nextController.tablePicture = [tier objectForKey:@"tablePicture"]; 
    } 
} 

/*DetailsController.m*/ 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    nameLbl.text = self.name; 
    foodPic.image = self.foodPicture; 
    tablePic.image = self.tablePicture; 
    } 

foodPic和tablePic均为的UIImageViews,并foodPic使用cell.imageView.image = [UIImage imageNamed:[[self.items objectAtIndex:indexPath.row] objectForKey:@"foodPicture"]]; ,其从包含路径将图像阵列调用集。只有在加载DetailsController类的视图时才会出现该错误。 如果我需要提供更多信息,请不要犹豫,告诉我。

+0

您正在''[self.items objectAtIndex:indexPath.row] objectForKey:@“foodPicture”]返回'NSString'' – Nekto

+0

我很困惑。 'NSString'包含图像的路径,因此我不会将'nextController.foodPicture'设置为图像,而是设置为'NSString'? – user1738193

+0

'[tier objectForKey:@“foodPicture”];' - 返回'NSString'?那么你应该这样做:'nextController.foodPicture = [UIImage named:[tier objectForKey:@“foodPicture”]];' – Nekto

回答

0

看来你在这里返回NSString的:

nextController.foodPicture = [tier objectForKey:@"foodPicture"]; 
nextController.tablePicture = [tier objectForKey:@"tablePicture"]; 

然后

// UIImage* = NSString* 
nextController.foodPicture = [tier objectForKey:@"foodPicture"]; 
nextController.tablePicture = [tier objectForKey:@"tablePicture"]; 

,或者您已发布过的东西。但从你的描述来看,更可能是将NSString分配给UIImage的问题。