0

はじめに、私は iOS と Xcode にまったく慣れていません。私はいくつかのデモに取り組み、開発サイトをかなり読みました。

現在のアプリは、ナビゲーション コントローラー > テーブル ビュー コントローラー (マスター ビュー) > 詳細ビューとして開始されました。これは、写真、価格、説明などを示すアイテムの詳細にドリルダウンできるテーブル ビューの基本的なメニューです。私は (ほとんど) iOS 開発ライブラリのチュートリアル「your second iOS app」https://developer.apple.comに従いました。 /library/ios/#documentation/iPhone/Conceptual/SecondiOSAppTutorial/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011318-CH1-SW1 さらに、レイアウトとプロパティに関するいくつかの実装変更を行いましたが、最後は完全に機能します。

後になって、アプリのエントリ ポイントをテーブル ビューにするのは好ましくないと判断しました。むしろ、他のボタンを使用してView Controllerに入りたいと思います。そのうちの1つがメニューに移動します。

私の問題は次のとおりです。ナビゲーション コントローラーとテーブル ビューの間の "ルート ビュー コントローラー" の関係を削除し、それをナビゲーション コントローラーから新しいビューに再接続します。ボタンをプッシュセグエで古いテーブルビューにリンクすると思います。これでアプリは正常にビルドされますが、実行時に次のエラーでクラッシュします。キャッチされない例外 'NSInvalidArgumentException'、理由: '-[UIViewController setDataController:]: 認識されないセレクターがインスタンス 0x6a6ed60 に送信されました' *最初のスロー コール スタック: "

セッターが悪いデータを取得しているようです。だから、古いルートビューが有効でないことがどういうわけか問題であると推測します。これを修正するのに十分な知識がありません。助けてください。

申し訳ありませんが、写真を投稿する担当者はいません。必要な場合はお知らせください。どこかにホストします。

4

2 に答える 2

0

エラーは、最初の画面である UIViewController が setDataController の意味を認識していないことを示しています。これを解決するには、UIViewController をサブクラス化し (FirstViewController などと呼びます)、最初のビュー コントローラーのクラスをストーリーボードのそのサブクラスに設定します。次に、ヘッダーで FirstViewController にプロパティを指定します@property (nonatomic, strong) DataController *dataController。すべてを起動して実行するには、おそらくさらに多くの手順がありますが、主なことは、クラス自体のインスタンスではなく、UIViewController のサブクラスを操作する必要があるということです。

于 2012-05-10T00:07:05.330 に答える
0

Table ビューがルートだった最後のバージョンに戻ります。新しい viecontroller をストーリー ボードの任意の場所にドラッグするだけです。次に、テーブルビューを指す矢印が表示されたら、その矢印を新しいビューコントローラーにドラッグします。

于 2012-05-10T00:19:23.650 に答える