У меня возникли серьезные проблемы при попытке сделать простое табличное представление в моем приложении для iOS. Я начал с немного более сложного исходного кода, но, отслеживая ошибку, я обнаружил, что это ошибка в методах источника данных контроллера табличного представления. Поэтому я сделал очень простое приложение с простым Nav Controller и Table View, и мне даже не удалось запустить его.
Вот как выглядит мой код:
AppDelegate.m
#import "BIDAppDelegate.h"
#import "BIDFirstLevelController.h"
@implementation BIDAppDelegate
@synthesize window = _window;
@synthesize navController = _navController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
BIDFirstLevelController *firstView = [[BIDFirstLevelController alloc] initWithStyle:UITableViewStylePlain];
self.navController = [[UINavigationController alloc] initWithRootViewController:firstView];
self.window.rootViewController = self.navController;
[self.window makeKeyAndVisible];
return YES;
}
Вот метод, который вызывает проблемы. Чтобы проверить это, я просто хочу список, который отображает 3 ячейки с надписью «Hello».
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell.textLabel.text = @"Hello";
return cell;
}
Xcode не отмечает ошибок перед компиляцией, но когда я пытаюсь это сделать, он показывает это в консоли и не компилирует мое приложение.
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'
Может кто-нибудь сказать мне, что с этим не так?