Я не могу заставить категории появляться в ячейках табличного представления - PullRequest
0 голосов
/ 02 июня 2019

Приложение запускается без каких-либо технических проблем, хотя могу не получить жестко закодированные категории для отображения в ячейках табличного представления из файла .m. Стиль табличного представления является базовым, и благодаря этому я подумал, что смогу получить образец заголовка через файл .m, используя:

self.items = @[@ {@"name" : @" Chores", @"Category" : @"Home"}].mutableCopy;

Сначала я подумал, что проблема возникла, потому что я забыл установить идентификатор повторного использования. Но решение этой проблемы не помогло. Я не получаю предупреждений или ошибок в Xcode. Я не изменял никаких других файлов, кроме файлов ViewController.m и main.Storyboard.

Код из .m файла

#import "ViewController.h"

@interface ViewController ()

@property (nonatomic) NSMutableArray *items;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    self.items = @[@ {@"name" : @" Chores", @"Category" : 
@"Home"}].mutableCopy;

    //self.navigationItem.title = @"What2Do list";
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.items.count;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"TodoItemRow";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    NSDictionary *item = self.items[indexPath.row];

    cell.textLabel.text = item[@"name"];

    return cell;
}

@end

Я ожидал, что «Я» будет отображаться в ячейке таблицы при запуске приложения, но он не появится.

1 Ответ

1 голос
/ 03 июня 2019

В ViewController.h вам нужно установить делегат табличного представления.

@interface ViewController : UIViewController<UITableViewDelegate,UITableViewDataSource>

Также вам нужно связать табличное представление с viewcontroller как его делегат. Самый простой способ - добавить его в раскадровку.

Сначала перетащите + Ctrl свою таблицу к символу viewController на раскадровке.

enter image description here

В списке нажмите на делегата.

Повторите эти действия для источника данных.

enter image description here

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