0

実行時に問題が発生しています

-[__ NSCFString _isResizable]: インスタンス 0x6a86a80 2012-10-24 14:21:08.070 に送信された認識されないセレクタインスタンス 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 はどちらも UIImageView であり、foodPic はcell.imageView.image = [UIImage imageNamed:[[self.items objectAtIndex:indexPath.row] objectForKey:@"foodPicture"]]; 、画像へのパスを含む配列からの呼び出しを使用して設定されます。このエラーは、クラス DetailsController のビューをロードするときにのみ発生します。さらに情報を提供する必要がある場合は、遠慮なくお知らせください。

4

1 に答える 1

0

ここで NSStrings を返しているようです:

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

その後

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

または、何かをリリースしすぎました。しかし、あなたの説明から、NSStringをUIImageに割り当てる際の問題である可能性が高くなります。

于 2012-10-24T18:53:51.210 に答える