2

私はiPhoneアプリの開発に不慣れです。

プロジェクトを実行すると、このエラーが発生しました

Terminating app due to uncaught exception 'NSUnknownKeyException',
reason: '[<AboutViewController 0x91cc1d0> setValue:forUndefinedKey:]:

と呼ばれる別のViewControllerに移動しようとすると発生しAboutViewControllerます。

rightBarButton私はこのように定義しました

UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"About" style:UIBarButtonItemStylePlain target:self :@selector(showAbout)];
self.navigationItem.rightBarButtonItem = anotherButton;

方法showAbout

- (void)showAbout{

    AboutViewController *abvController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil];

    [self.navigationController pushViewController:abvController animated:YES];    
    [abvController release];
}

また、のpresentModelViewController代わりに使用しようとするnavigationControllerと、コンパイラは非推奨であることを示します。

4

3 に答える 3

1

問題が見つかりました。AboutViewControllerで使用したボタンが原因で、そのボタンのプロパティを宣言しませんでした。

しかし、誰かがModelViewControllerを使用してios6の新しいビューに移動する方法を教えてもらえます。これは、メソッドpresentModelViewControllerを使用すると、非推奨であるという警告が表示されるためです。

于 2012-11-09T08:52:28.623 に答える
0

問題は、現在のView Controllerではなく、AboutViewControllerにあると思います。

あなたの AboutViewController nib クラスは AboutViewController クラスではなく UIViewController クラスだと思います。正しいクラスに変更してみてください。nib ファイルをクリックし、ファイルの所有者をクリックしてから、右側のセクションで 3 番目のタブをクリックします。上部にクラスが表示されるので、AboutViewCtroller に変更します。

于 2012-11-09T08:34:14.730 に答える
0

通常、これらのタイプのエラーは、xib に接続されているコンセントの問題が原因で発生します。 主なシナリオ:

  1. View アウトレットが xib で接続されていません
  2. 接続されたコンセントのプロパティがインターフェイス ファイルから削除されます

    presentModelViewController は iOS 6 で廃止されました。代わりにpresentViewController:animated:completion:、modalViews の表示に使用できます。

presentViewController:アニメーション化:完了:

ビュー コントローラーを提示します。

- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion

パラメーター

viewControllerToPresent

The view controller being presented.

国旗

Pass YES to animate the presentation; otherwise, pass NO.

完了

A completion handler or NULL.

討論

iPhone および iPod touch では、提示されたビューは常にフルスクリーンです。iPad では、プレゼンテーションは modalPresentationStyle プロパティの値に依存します。

このメソッドは、presentedViewController プロパティを指定されたビュー コントローラーに設定し、そのビュー コントローラーのビューのサイズを変更してから、ビューをビュー階層に追加します。ビューは、表示されたビュー コントローラーの modalTransitionStyle プロパティで指定されたトランジション スタイルに従って、画面上でアニメーション化されます。

完了ハンドラーは、表示されたビュー コントローラーで viewDidAppear: メソッドが呼び出された後に呼び出されます。

可用性

Available in iOS 5.0 and later.

UIViewController.h で宣言

詳細については、UIViewController クラスを確認してください

于 2012-11-09T11:54:40.350 に答える