2

シナリオ: ユーザーは、画像とそれに付随するラベルのテキストを含む画面を表示しています。ユーザーが画像をタップすると、画像のみの画面が表示され、ズーム可能である必要があります。ユーザーがその画像をタップすると、画像/テキスト画面に戻ります。

ストーリーボードを使用して、最初の画面を実装しました

 @interface FirstImageViewController :  UIViewController <UIScrollViewDelegate>

それはうまくいきます。(ちなみに、この画面ではズームが機能していません)2番目の画面を次のように実装しました

 @interface SecondImageViewController : UIViewController  <UIScrollViewDelegate>

次のコマンドで 2 番目の画面に移動しようとしました。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {

[self performSegueWithIdentifier:@"SingleImage" sender:touch]; 
return YES;    

 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
 {
   self.secondImageViewController = segue.destinationViewController;
    [self.secondImageViewController setImageToDisplay:self.imageToDisplay];
 }

しかし、gestureRecognizer メソッドでエラーが発生します。

*キャッチされない例外 'NSUnknownKeyException' が原因でアプリを終了しています。理由: '[ setValue:forUndefinedKey:]: このクラスは、キー imageDisplayer のキー値コーディングに準拠していません。

私はこれを正しい方法で行っているかどうか確信が持てず、助けを借りることができます.

リック

4

1 に答える 1

2

このエラー メッセージはほとんどの場合、UI (xib またはストーリーボード) の問題の兆候であり、ビュー コントローラーとそれに関連付けられたビューが読み込まれており、コードに存在しないアウトレットへの参照があります。ストーリーボードに と呼ばれるものへのリンクがありますimageDisplayerか?

(表示されない場合は、ストーリーボードを右クリックして [Open As] -> [Source Code] を選択し、テキスト検索を実行してみてください。)

于 2012-05-12T22:00:46.687 に答える