Xcode не распознает пользовательскую ячейку в TableView

#ios #objective-c #uitableview

#iOS #objective-c #uitableview

Вопрос:

У меня есть идентичный код в нескольких контроллерах представления, и я не могу понять, почему компилятор Xcode не распознает пользовательскую ячейку.

В раскадровках VCS имеют контроллер представления, содержащий TableView с 1 динамической ячейкой. Эта ячейка устанавливается в инспекторе идентификации в пользовательскую ячейку.

В файле для VC, в cellForRowAtIndexPath у меня есть следующий код:

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 {
   
 static NSString *cellIdentifier = @"Cell";
     myCustomCell* cell = [self.tableView dequeueReusableCellWithIdentifier:@"Cell"];
 

Единственное различие между пользовательскими ячейками заключается в том, что некоторые из них были созданы в более старых версиях Xcode и не имеют строк NS_ASSUME_NONNULL_BEGIN и END:

 #import <UIKit/UIKit.h>

@interface contactCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@property (weak, nonatomic) IBOutlet UILabel *someLabel;

@end

vs.

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface ideaCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@property (weak, nonatomic) IBOutlet UILabel *someLabel;

@end

NS_ASSUME_NONNULL_END
 

Однако, если я установлю точку останова после рабочей, она покажет:

введите описание изображения здесь

Однако, если я установлю точку останова после неработоспособности, на ней будет отображаться общая uitableviewcell.

введите описание изображения здесь

Почему он не распознает пользовательскую ячейку?

Я попытался удалить ячейку и воссоздать ее заново, а также очистить папку сборки.

Спасибо за любое предложение.

Редактировать:

Вот раскадровка:

введите описание изображения здесь

введите описание изображения здесь

Комментарии:

1. В раскадровке есть ли у вас идентификатор «Cell», присвоенный ячейке?

2. ДА. Добавлен скриншот выше.

3. @El Tomato вы можете объяснить?

4. Извините, я имею в виду, вы НЕ сообщаете контроллеру представления имя класса ячейки табличного представления.

5. И, как говорит El Tomato, проблема, скорее всего, заключается в регистрации ячейки в контроллере представления.