图像麻烦



我在运行时遇到问题

- [__ 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更有可能。

最新更新