Итак, я создал пользовательскую ячейку (используя файл .xib) и связал ее с использованием пользовательского класса контроллера, и я также не забыл писать в идентификаторе ячейки. Я также дал тот же идентификатор ячейки в моей прототипе ячейки контроллера таблицы. В пользовательском классе контроллера я просто имею выход к текстовой метке в файле .h. Ниже приведен код для моего контроллера табличного представления. Когда я запускаю приложение, пользовательские ячейки не отображаются, но там есть ячейки, потому что я могу нажать на них (но они просто белые). Что я делаю неправильно, почему не отображаются пользовательские ячейки?пользовательская ячейка не отображается
Если я использую ячейки по умолчанию (нестандартные), тогда все работает нормально. Так что проблема в том, что я не использую свои пользовательские ячейки правильно где-то.
#import "ListmaniaTableViewController.h"
#import "ListmaniaTableViewCell.h"
@interface ListmaniaTableViewController()
@property (strong, nonatomic) NSMutableArray *tasks; //of task object
@end
@implementation ListmaniaTableViewController
- (void)viewDidLoad{
[super viewDidLoad];
task *task1 = [[task alloc] init];
task1.taskDescription = @"TASK 1";
[self.tasks addObject:task1];
task *task2 = [[task alloc] init];
task2.taskDescription = @"TASK 2";
[self.tasks addObject:task2];
task *task3 = [[task alloc] init];
task3.taskDescription = @"TASK 3";
[self.tasks addObject:task3];
}
- (NSMutableArray *)tasks{
if(!_tasks){
_tasks = [[NSMutableArray alloc] init];
}
return _tasks;
}
/*- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
}
return self;
}*/
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"Add New Item"]) {
}
}
- (void)addNewTask:(task *)newTask{
[self.tasks addObject:newTask];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return [self.tasks count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
ListmaniaTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ListmaniaCell" forIndexPath:indexPath];
if(!cell){
[tableView registerNib:[UINib nibWithNibName:@"ListmaniaTableViewCell" bundle:nil] forCellReuseIdentifier:@"ListmaniaCell"];
cell = [tableView dequeueReusableCellWithIdentifier:@"ListmaniaCell" forIndexPath:indexPath];
}
return cell;
}
- (void)tableView:(UITableView *)tableView willDisplayCell:(ListmaniaTableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
task *task = [self.tasks objectAtIndex:indexPath.row];
NSString *taskLabel = task.taskDescription;
cell.taskLabel.text = taskLabel;
}
@end
что-нибудь (я просто попытался его снова и никаких изменений) – crazyshark