0

私は、Mac と iOS 開発を初めて使用します。今日は、このチュートリアルに従って、プロトタイプ セルとストーリー ボードを使用してデータをテーブル ビューにバインドする方法について説明しました。バインドされたデータが次のように UITableView に表示されるように、アプリを実行できるはずのチュートリアルの部分に到達しました。

ここに画像の説明を入力

私のアプリは正常にコンパイルされますが、実行を開始するとすぐにランタイム エラーが発生します。

[ViewController viewControllers]: unrecognized selector sent to instance

私はチュートリアルを数回試してみました。チュートリアルに書かれているとおりに正確に従い、3 つの異なるプロジェクトをゼロから作成して、何も問題がないことを確認しました。誰でもエラーの修正を手伝ってもらえますか? 何がうまくいかないのかを突き止めようと何時間も費やしましたが、iOS の開発は他のプラットフォームに比べて非常にエキサイティングに思えるので、今すぐあきらめたくありません!

4

2 に答える 2

0

認識されないセレクターは、未定義のメソッドが呼び出されていることを意味します。

行うべきことの 1 つは、コンパイラの警告があるかどうかを確認することです。それはあなたに何かを与えますか?見てください。未定義のものの手がかりが得られるかもしれません。

チュートリアルでは ViewController クラスを参照しています。このクラスは、チュートリアルの開始時に簡単に使用されているように見えますが、その後別のクラスに置き換えられます。このクラスは後で完全に削除できます。タブバーコントローラーが正しく配線されているか確認してください。「エントリーポイント」に設定しましたか?

ストーリーボードを確認してください。入ってくる矢印はどこを指していますか? 以下の 2 つの画像を比較してください。1 つ目は、ViewController を指すエントリ矢印 (私の推測)、2 つ目は、Tab Bar Controller を指す矢印です。

画像1


後の画像.

于 2013-10-07T00:31:19.737 に答える
0

ある時点で (コードがないとどこにあるのかわかりにくい)、 への参照を取得し、ViewControllerとして扱いUITabBarViewControllerます。

viewControllersのメソッドですUITabBarViewControllerが、 で呼び出していますViewController

あなたはおそらく次のようなものを持っています

UITabBarViewController *tabBarVC = (UITabBarViewController *)[something aMethod];
tabBarVC.viewControllers...

したがって、問題なくコンパイルされますが、実行時に当然のことながらクラッシュします。

于 2013-10-07T00:32:02.363 に答える