Я создаю табличное представление, используя настраиваемую ячейку табличного представления, используя данные из свойства NSSArray класса контроллера. когда я запускал приложение, правильно отображалась только первая строка табличного представления.
#import "MainTableViewController.h"
@interface MainTableViewController ()
@property (strong, nonatomic) NSArray* items;
@end
@implementation MainTableViewController
- (void)viewDidLoad {
[super viewDidLoad];
_items = @[@"Item1", @"Item2", @"Item3"];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return _items.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
TableViewCell* tableViewCell = [tableView dequeueReusableCellWithIdentifier:@"TableViewCell"];
if (!tableViewCell) {
UINib* tableViewCellNib = [UINib nibWithNibName:@"TableViewCell" bundle:nil];
[tableView registerNib:tableViewCellNib forCellReuseIdentifier:@"TableViewCell"];
tableViewCell = [tableView dequeueReusableCellWithIdentifier:@"TableViewCell"];
}
return tableViewCell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
CalculatorViewController* calculatorViewController = [[CalculatorViewController alloc] init];
[self presentViewController:calculatorViewController animated:YES completion:nil];
}
- (void)tableView:(UITableView *)tableView willDisplayCell:(TableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
cell.label.text = [_items objectAtIndex:indexPath.row];
}
первая строка отображает Item1, а остальные отображают только первые два символа и точки для каждой строки. ex It ... для ряда 2 и остальных. ожидаемый результат - он отображает все в массиве _items.