В моей программе есть один контроллер вида и контроллер tableView. Я намерен обновить ячейку tableview с текущим временем каждый раз, когда я нажимаю кнопку в viewController.реализовать прототип ячейки, когда я нажимаю кнопку в другом виде. Контроллер
ViewController.m
@interface ViewController()
@property(nonatomic,strong) Brain* brain;
@property(nonatomic,readonly)TimeTableController* tableControl;
@end
- (void)viewDidLoad
{
[super viewDidLoad];
_brain=[[Brain alloc] init];
_tableControl=[[TimeTableController alloc] init];
}
- (IBAction)actionTime:(id)sender {
[self.tableControl.entryTime addObject:[self.brain currentTime]];
}
timeTableController.h
@property (strong, nonatomic) IBOutlet UITableView *timeTable;
@property(nonatomic,strong) NSMutableArray* entryTime;
timeTableController.m
- (void)viewDidLoad
{
[super viewDidLoad];
_entryTime=[[NSMutableArray alloc] init];
_timeTable=[[UITableView alloc] init];
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{ if(!_entryTime) return 0;
else
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [_entryTime count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{ ...
self.cell.timeLabel.text = [NSString stringWithFormat:@"%@",[self.entryTime objectAtIndex:[indexPath row]]];
}
[self.tableControl.timeTable reloadData];
return cell;
}
Однако, когда я нажимаю кнопку, ничего не происходит. Может ли кто-нибудь помочь мне решить эту проблему?
ops, только коррекция: [self.tableControl.timeTable reloadData] находится в - (IBAction) actionTime: (id) отправитель –
Вы скопировали/вставили этот код или повторно указали его? Кажется, что у вашего numberOfSectionsInTableView отсутствует несколько фигурных скобок вокруг условий if и else. – CaptJak
Я возвращаю его, но все верно в numberOsSectionsInTableView Одна из проблем заключается в том, что in - (IBAction) actionTime: (id) отправитель не добавляется в _timeControl.entryTime, когда я нажимаю кнопку –