«Не удалось создать экземпляр класса с именем UITableViewCellContentView» iPhone 3.1.2 - PullRequest
1 голос
/ 28 января 2010

Я создал перо для пользовательской ячейки UITableView и следовал документации и различным учебным пособиям, чтобы обойти эту ошибку, и она просто не исчезнет. Я исследовал эту ошибку, и люди говорят, что это когда вы #import заголовка, но вы не добавили Framework. Ну, UIKit автоматически добавляется, и я удалил и добавил его снова для хорошей меры, и эта ошибка не исчезнет. Вот мой код для - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

     static NSString *MyIdentifier = @"PersonCell";

 PersonCell *cell = (PersonCell *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
 if(cell == nil)
 {
  [[NSBundle mainBundle] loadNibNamed:@"PersonCell" owner:self options:nil];
  cell = personCell;
 }
        return cell;

Ответы [ 5 ]

3 голосов
/ 28 января 2010

Найдено решение на форумах разработчиков

Создать эти файлы:

UITableViewCellContentView.h

#import <UIKit/UIKit.h>
@interface UITableViewCellContentView : UIView {
}

UITableViewCellContentView.m

@implementation UITableViewCellContentView

+ (id)alloc {
    return [UIView alloc];
}

+ (id)allocWithZone:(NSZone *)zone {
    return [UIView allocWithZone:zone];
}

@end
2 голосов
/ 28 января 2010

Как ни странно, у меня было приложение, работающее в 3.1.2 в течение нескольких месяцев, и я только что загрузил новый 3.2 SDK для iPad, и мое приложение работало нормально в 3.2. Тем не менее, когда я создал свою цель в 3.1.2 (в 3.2 SDK) и вдруг обнаружил нулевой указатель в классе UITableViewCellContentView (которого я никогда раньше не видел). Я новичок в Obj C и не мог понять, что происходит. Нашел вашу запись, погуглив мою ошибку. Я только что перезагрузил оригинальный 3.1.2 SDK, и проблема исчезла. Надеюсь это поможет. Не уверен, что в моем коде есть скрытая ошибка, вызванная новым SDK, или происходит что-то более глубокое. Я подозреваю, что это мой код, но он выглядит идентично вашему коду при создании пользовательской ячейки для табличного представления.

0 голосов
/ 02 февраля 2010

Я начал получать ту же ошибку при запуске в 3.1.2 после установки бета-версии SDK 3.2. Если я запускаю свое приложение в 3.2 (на симуляторе iPad), оно работает нормально.

0 голосов
/ 28 января 2010

Добавление класса UITableViewCellContentView 'сработало для меня в симуляторе, но я получаю сообщение об ошибке на телефоне при запуске.

*** NSInvocation: предупреждение: объект 0x51b9c класса 'UITableViewCellContentView' не реализует hasNotRecognizeSelector: - abort

Полагаю, мне придется переустановить предыдущий xcode.

0 голосов
/ 28 января 2010

Была такая же проблема: после установки 3.2 бета, компиляция в 3.1.2 привела к этому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...