[解決済み】dequeueReusableCellWithIdentifier:forIndexPathでアサーションに失敗しました。
質問
私は学校のためにRSSリーダーを作り、コードを完成させました。テストを実行したところ、このようなエラーが発生しました。以下は、そのコードが参照しているものです。
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell =
[tableView dequeueReusableCellWithIdentifier:CellIdentifier
forIndexPath:indexPath];
if (cell == nil) {
cell =
[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:CellIdentifier];
}
これが出力されたときのエラーです。
2012-10-04 20:13:05.356 リーダー[4390:c07]さん * アサーションに失敗しました。 -[UITableView dequeueReusableCellWithIdentifier:forIndexPath:], /SourceCache/UIKit_Sim/UIKit-2372/UITableView.m:4460 2012-10-04 20:13:05.357 リーダー[4390:c07] *. キャッチできないため、アプリを終了する 例外 'NSInternalInconsistencyException', reason: 'unable to'. 識別子Cellを持つセルの待ち行列を解除する - nibまたはクラスを登録する必要があります。 を識別子に使うか、ストーリーボードでプロトタイプセルに接続します。 * 最初のスローコールスタック:(0x1c91012 0x10cee7e 0x1c90e78 0xb64f35 0xc7d14 0x39ff 0xd0f4b 0xd101f 0xb980b 0xca19b 0x6692d 0x10e26b0) 0x228dfc0 0x228233c 0x228deaf 0x1058cd 0x4e1a6 0x4ccbf 0x4cbd9 0x4be34 0x4bc6e 0x4ca29 0x4f922 0xf9fec 0x46bc4 0x47311 0x2cf3 0x137b7 0x13da7 0x14fab 0x26315 0x2724b 0x18cf8 0x1becdf9 0x1becad0 0x1c06bf5 0x1c06962 0x1c37bb6 0x1c36f44 0x1c36e1b 0x147da 0x1665c 0x2a02 0x2935) libc++abi.dylib: terminate が呼び出されて例外を発生させる
で、これがエラー画面に表示されるコードです。
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
よろしくお願いします
どのように解決するのですか?
を使用しています。
dequeueReusableCellWithIdentifier:forIndexPath:
メソッドを使用します。 は、その
ドキュメント
には、このように書かれています。
重要です。 クラスまたは nib ファイルを登録する場合は、必ず
registerNib:forCellReuseIdentifier:
またはregisterClass:forCellReuseIdentifier:
メソッドを呼び出してから、このメソッドを実行します。
再利用識別子のnibやクラスが登録されていません。
"Cell"
.
あなたのコードを見ると、dequeue メソッドが返すことを期待しているようですね。
nil
というのは、渡すべきセルを持っていない場合です。 その場合は
dequeueReusableCellWithIdentifier:
という動作をさせます。
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
注目すべきは
dequeueReusableCellWithIdentifier:
と
dequeueReusableCellWithIdentifier:forIndexPath:
は別のメソッドです。についてはdocを参照してください。
前者
と
後者
.
なぜ今まで
dequeueReusableCellWithIdentifier:forIndexPath:
,
Q&A
.
関連
-
[解決済み】"宣言はファイルスコープでのみ有効 "について
-
[解決済み] リンカーコマンドが終了コード 1 で失敗した(起動を確認するには -v を使用)、Xcode 8、Swift 3
-
[解決済み] Xcode は、[バンドル ID] に一致する iOS App Store プロビジョニングプロファイルを見つけられませんでした。
-
[解決済み] 新しい Swift クラスの void 関数で予期しない非 void の戻り値が発生する。
-
[解決済み] 基本的なUIButtonをプログラムで作成するには?
-
[解決済み] データソースからのセルの取得に失敗しました。
-
[解決済み] 警告 xcode 6 で暗黙の変換により整数の精度が失われる
-
[解決済み] CocoaPodsでポッド「Firebase/Core」の互換バージョンが見つからなかった|cloud_firestore, Flutter
-
[解決済み] 起動画面にカスタムクラス名が設定されない場合がある
-
[解決済み] CFBundleVersionとCFBundleShortVersionStringには、どのような値を使用すればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 libc++abi.dylib: NSException 型のキャッチできない例外で終了する (lldb)
-
[解決済み] Int 型のインデックスを持つ [AnyObject]? の値を添え字として使用できません。
-
[解決済み] Argument passed to call that takes no arguments "エラーを修正するには?
-
[解決済み] UICollectionView: 非Nilのレイアウトパラメータで初期化する必要があります。
-
[解決済み] ブリッジングヘッダ用のプリコンパイルヘッダの発行に失敗しました。
-
[解決済み] Objective-C ブロックパラメータ 発行 このブロック宣言はプロトタイプではありません
-
[解決済み] なぜibtoolはexit code 255で失敗したのでしょうか?
-
[解決済み] CocoaPodsでポッド「Firebase/Core」の互換バージョンが見つからなかった|cloud_firestore, Flutter
-
[解決済み] Stringをformatで作成するには?
-
[解決済み] dequeueReusableCellWithIdentifier と dequeueReusableCellWithIdentifier : forIndexPath を使用する場合