我在运行时遇到问题
- [__ nscfstring _issizable]:未识别的选择器发送到实例0x6A86A80 2012-10-24 14:21:08.070糖尿病食品指南[767:c07] *终止应用程序,因为未被发现的例外'nsinvalidargumentException'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;
}
食品和餐桌都是uiimageViews,使用cell.imageView.image = [UIImage imageNamed:[[self.items objectAtIndex:indexPath.row] objectForKey:@"foodPicture"]];
设置食物从一个包含图像路径的数组中调用。仅在加载类详细信息的视图时发生错误。如果我需要提供更多信息,请随时告诉我。
似乎您在这里返回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更有可能。