0

Navigation Controller(初期View Controller)を介してリンクされた複数のView Controllerで構成されるストーリーボードベースのアプリに取り組んでいます。これはホーム画面として使用されます。静的セルと静的テーブル ビューを使用しています

ここで、いくつかのラベル、ボタンなどをアウトレット/アクションとして " .h " ファイルに接続し、続いてカスタム メソッドを .m ファイルに記述したいと考えています。しかし (予想どおり?) ID inspectorで選択できるカスタム クラスはまだありません。そこで、 UITableViewControllerのサブクラスとして新しいカスタム クラスを作成しました(どちらが正しいと思われますか? ) 。

新しいカスタム クラスがストーリーボード ビュー コントローラーに接続されました。次に、正しいnumberOfSectionsInTableView : 1 とnumberOfRowsInSection :5 を入力します (5 行を含む 1 つのセクションを取得しました)。実行すると、次のエラーですぐにクラッシュします。

捕捉されなかった例外 ' NSInternalInconsistencyException' が原因でアプリを終了しています。理由: 'セル識別子を持つセルをデキューできません - 識別子の nib またはクラスを登録するか、ストーリーボードでプロトタイプ セルを接続する必要があります'

0 セクションと 0 行が返された場合、すべて正常に動作します (行が表示されないことを期待してください)。いずれかで > 0 を返すと、このエラーでクラッシュします。

私は何を逃したのですか?ファイルをカスタム クラスとしてアタッチし、他のカスタム クラスとして使用する前に、ファイルに追加する必要があるものは他にありますか? 繰り返しますが、インターフェイス ビルダー (ストーリーボード) で、テーブル セルの行、そのスタイル設定などをすべて設定しました。何が間違っているのでしょうか?

マイ テーブル ビューの設定

マイ テーブル ビューの設定

マイ テーブル セルのセットアップ

ここに画像の説明を入力

4

1 に答える 1

1

これが答えであることは間違いありません。ストーリーボードで、プロトタイプ セルがテーブル ビュー (クラッシュしたビュー コントローラー内のビュー) に描画されていることを確認し、再利用識別子が "Cell" に設定されていることを確認してください。rowAtIndexPath: のコードは、その識別子を持つセルをデキューしようとしていますが、そこにはありません。

識別子は、ストーリーボードの属性インスペクター (右上の中央のタブ) を使用して設定できます。

于 2013-02-09T23:36:43.050 に答える