Не удается найти self.tableview после случайного удаления

#objective-c #ios #ios4

#objective-c #iOS #ios4

Вопрос:

Я случайно удалил свой файл firstviewcontroller.m, предназначенный для представления с tableview. Затем я воссоздал свой файл .m в лучшем виде, который я могу вспомнить, и подумал, что у меня все правильно.

Теперь я получаю сообщение об ошибке в строке

[обновление self.tableview];

сообщение self.tableview не найдено.

Кажется, я не могу понять, что я пропустил. Я не хочу перегружать вас, ребята, кодом, поэтому я постараюсь просто опубликовать соответствующую часть.

#import "FirstViewController.h"
#import "Shared.h"
#import "Message.h"

@implementation FirstViewController

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell= [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
Message *msg = [[Shared sharedInstance].messages objectAtIndex:indexPath.row];
NSString *authorName = msg.authorName;
NSString *cellValue = authorName;
cell.textLabel.text = cellValue;
return cell;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

 `return [[Shared sharedInstance].messages count];`  
  

}

-(void) viewWillAppear:(BOOL)animated {

 `[self.tableView reloadData];`  
  

}

Ответ №1:

TableView является свойством UITableViewController. Дважды проверьте, что вы унаследовали FirstViewController от UITableViewController, но не от UIViewController.

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

1. Это исправило эту ошибку, но создало другую. Завершение работы приложения из-за неперехваченного исключения ‘NSInternalInconsistencyException’, причина: ‘-[UITableViewController loadView] загрузил перо «FirstView», но не получил UITableView.’

2. Я перепечатаю как новый вопрос