私のUITableViewでは、以前はセルのcontentViewにUILabelsを配置するだけだったセルの構造を最近変更し、2つのUIView(CellFrontとCellBackを重ねて)をcontentViewに追加しました(スライド効果を実現できるようにするため)一番上のものをスライドさせて下のものを明らかにすることによって)、UILabelsを一番上のUIViewに追加します。
ただし、現在、何らかの理由でセルが初期化されることはなく、その結果、私の UITableView は空白のセルでいっぱいです。
私のセルは次のように作成されます (ArticleCell は UITableViewCell のサブクラスです):
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = nil;
ArticleInfo *articleInfo = [self.fetchedResultsController objectAtIndexPath:indexPath];
// Checks if user simply added a body of text (not from a source or URL)
if ([articleInfo.isUserAddedText isEqualToNumber:@(YES)]) {
CellIdentifier = @"BasicArticleCell";
}
else {
CellIdentifier = @"FullArticleCell";
}
ArticleCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[ArticleCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// If the user simply added a body of text, only articlePreview and progress has to be set
cell.preview = articleInfo.preview;
// If it's from a URL or a source, set title and URL as well
if ([articleInfo.isUserAddedText isEqualToNumber:@(NO)]) {
cell.title = articleInfo.title;
cell.URL = articleInfo.url;
}
return cell;
}
しかし、上記の if ステートメント内の initWithStyle メソッドにブレークポイントを設定しましたが、呼び出されることはありません。
これは何が原因でしょうか?毎回アプリを削除してゼロからビルドしているので、確かにデータはUITableViewに追加されていますが、すべてのセルが空白です。また、すべてのセルに開示インジケーターがあるため、多数のセルが追加されていることがわかります。テーブル ビューには、インジケーターのみの空のセルが表示されます。
私は何を間違っていますか?