12

私はこのおかしなプロジェクトで私のロープの終わりに来ています!!!!!!!!

2 つのタブを持つタブバー コントローラーを持つ nib にリンクされている UIViewController クラスがあります。どちらのタブも nib ファイルをロードします。コンパイルするとエラーが発生します:

-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "MainViewController" nib but the view outlet was not set.

何が起きてる?MainViewController ビューは nib ファイルによって取り込まれています (これらのファイル ビューは正しくリンクされています)。MainViewController のファイルの所有者には "view" というパラメーターがありますが、両方のビューを nib から読み込んでいるので無視してはいけませんか? どんな助けでも大歓迎です!

4

3 に答える 3

36

デバッガーで同じエラーが発生しました(「xViewController」ペン先をロードしましたが、ビューアウトレットが設定されていませんでした)。

Interface Builderで、xViewController.xibを開き、[表示]アイコンを右クリックして、[新しい参照先]の横の円から[ファイルの所有者]アイコンにドラッグし、小さな灰色のメニューが表示されたら、[表示]をクリックしました。(次に、保存、再構築、実行など...)

何が起こっているのかはっきりしていませんが、それで修正されました。

私の理解では、誰かがフォローアップしたい場合は、ビューのアウトレット(「ビュー」という名前)が設定されていません。新しい参照アウトレットをファイルの所有者アイコンにドラッグして、ビューのアウトレットを設定しました。素晴らしい。

于 2010-01-17T22:27:14.937 に答える
2

問題 #1 - nib ですが、ビュー アウトレットが設定されていません。1. tabbarcontroller を持っていた MainMenu.xib は、ファイルの所有者であり、ある種のビューに接続する必要があります。ビューオブジェクトを入れてリンクすればOKです。タブバーではなくそのファイルを表示し続けたので、私はイライラしていました。#2はその問題を解決します

問題 2 - タブバーが表示されない 2. IBOutlet UITabBarController を作成し、それをファイル所有者にリンクします。そして、viewdidload メソッドでこの self.view = tbController.view; を実行します。リンク先の空白のビュー ファイルではなく、タブバーが表示されるようになりました。

于 2009-07-29T19:58:16.720 に答える
0

各外部ペン先からメインxibにビューを追加してから、ビューアウトレットを正しいビューに接続する必要があります。たとえば、MainMenu.xibにタブバーがあり、ViewOne.xibという名前の外部xibがある場合は、両方を開き、カスタムビュー(またはその名前)をViewOne.xibウィンドウからMainMenu.xibウィンドウにドラッグします。次に、そのビューのタブのビューアウトレットをカスタムビューに接続します。MainMenu.xibにコピーしたら、カスタムビューの名前を変更して、MainMenu.xibに追加する必要がある他のビューと区別できるようにする必要があります。

于 2009-07-29T18:19:03.680 に答える