У меня возникла ошибка при попытке использовать nib, который был зарегистрирован для повторного использования. Im использует одну и ту же пользовательскую ячейку на двух ViewControllers.
2013-09-05 11: 04: 08.476 xxx [51395: c07] *** Завершение приложения из-за неперехваченное исключение "NSInternalInconsistencyException", причина: 'invalid nib, зарегистрированный для идентификатора (TweetTableViewCellId) - nib должен содержать ровно один объект верхнего уровня, который должен быть Экземпляр UITableViewCell '
- Я использую файл NIB с одним видом в списке объектов - сверху, уверен -. Он имеет тип TweetViewCell, который расширяет UITableViewCell.
- Я уже определил [b] идентификатор [/b] как "TweetTableViewCellId"
- Загрузите nib и зарегистрируйте его на viewDidLoad (я уже загружаю отладочный и пользовательский объекты)
- Я пытаюсь восстановить зарегистрированную ячейку с использованием того же идентификатора.
некоторая часть кода
// First Controller to use custom Cell
@implementation TweetsViewController
- (void) viewDidLoad
{
...
UINib *nib = [UINib nibWithNibName:kTweetTableViewCellNibName bundle:nil];
[self.tweetsTableView registerNib:nib forCellReuseIdentifier:@"TweetTableViewCellId"];
..
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
TweetTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kTweetTableViewCellId forIndexPath:indexPath];
...
}
@end
// second Controller to use custom Cell
@implementation OfflineEpisodeModalViewController
- (void) viewDidLoad
{
UINib *nib = [UINib nibWithNibName:kTweetTableViewCellNibName bundle:nil];
[self.tweetSearchTableView registerNib:nib forCellReuseIdentifier:kTweetTableViewCellId];
}
...
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
TweetTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"TweetTableViewCellId" forIndexPath:indexPath];
}
@end
любое предложение?