UITableViewCell не обновляется даже вызывается cellForRowAtIndex - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь отобразить данные с сервера в UITableViewCell.Вызываются все методы делегата, но ячейки не обновляются.

См. Мой код ниже.

if(userSessionData !=nil) {
    NSString * cid=[NSString stringWithFormat:@"%@",[userSessionData 
    objectForKey:@"cid"]];
    NSString * sessionid=[NSString stringWithFormat:@"%@", 
    [userSessionData objectForKey:@"sessionid"]];

        NSMutableArray * inputArray=[[NSMutableArray alloc]init];
        [inputArray addObject:@"getAmcList"];
        [inputArray addObject:[NSString stringWithFormat:@"%@searchscheme_option/%@/%@/%@/%@/%@",mfSharedManager.baseUrl,[mfSharedManager encodeStringTo64:assetType],[mfSharedManager encodeStringTo64:catagory],[mfSharedManager encodeStringTo64:amc],[mfSharedManager encodeStringTo64:cid],[mfSharedManager encodeStringTo64:sessionid]]];
        [mfSharedManager inputRequestMethod:inputArray withCompletionHandler:^(NSDictionary *dict) {
            self.responseDataDictionary = [[NSMutableDictionary alloc]initWithDictionary:dict];
            NSLog(@"%@",self.responseDataDictionary);
           [self callMethod];
    //                dispatch_async(dispatch_get_main_queue(), ^{
//                    [self.equityTableView reloadData];
//                });
        }];

}

метод вызова:

-(void)callMethod  {
    dispatch_async(dispatch_get_main_queue(), ^{
//    self.equityTableView.delegate=self;
//    self.equityTableView.dataSource=self;
    [self.equityTableView reloadData];
});
 }

Я вызываю методы делегата self.equityTableView.delegate=self; и self.equityTableView.dataSource=self в viewDidLoad.

Для тестирования я сохранил NSLog в cellForRowAtIndex.Данные печатаются в журнале правильно, но пользовательский интерфейс не обновляется.

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Пожалуйста, проверьте ваши два метода делегата, как указано ниже:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
  • Возвращает ли оно ожидаемые значения?Если нет, то из-за этого он может не обновить ваш просмотр таблицы.Если все в порядке, поделитесь кодом метода cellForRowAtIndexPath.
0 голосов
/ 18 мая 2018

Пожалуйста, установите делегат и источник данных из Storyboard / XIB и установите @interface TableVC: UIViewController и проверьте.

...