ReloadData не запускает cellForRowAtIndexPath - PullRequest
0 голосов
/ 22 марта 2011

Я знаю, что об этом спрашивали снова и снова. Я попробовал все данное решение, но все равно оно не сработало. Я установил источник данных и делегат для моего табличного представления, а также установил его для моих указателей.

Вот мой код:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section     {
NSLog(@"%i", resultSoap.count);
return resultSoap.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

// Configure the cell.

NSString *cellValue = [resultSoap objectAtIndex:indexPath.row];
cell.textLabel.text = cellValue;
NSLog(@"Celldisplay");

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

return cell;
}

Я вызвал reloadData для моего viewDidLoad: метода. Дело в том, что он запустил метод numberOfRowsInSection:, и я получил правильное количество строк, но он не запустил этот метод cellForRowAtIndexPath:.

Есть решение?

Ответы [ 3 ]

0 голосов
/ 22 апреля 2014

Используйте этот код:

urtableview.delegate = self;
urtableview.datasource = self;

После объявления массива результатов в вашем коде.

0 голосов
/ 06 июня 2014

Это должно произойти из-за вызова метода перезагрузки таблицы, когда массив источника данных табличного представления "resultsoap" пуст. Убедитесь, что ваш массив источника данных не пуст и проверьте, сохранены ли в массиве объекты.

Потому что, если numberOfRowsInSection возвращает 0, то cellForRowAtIndexPath не может быть вызвано. И это должно быть в вашем случае.

0 голосов
/ 04 мая 2012

Пожалуйста, добавьте сильфонный код в ваших подходящих методах.

, если вы взяли простой контроллер и добавили представление таблицы, чем

в вашем заголовочном файле .h

#import <UIKit/UIKit.h>
@interface TaskAndTax : UIViewController<UITableViewDelegate, UITableViewDataSource>
{
    IBOutlet UITableView *MyTableView;
}
@property (nonatomic, retain) UITableView *MyTableView;
@end

И в вашем .m файле

@synthesize MyTableView;

-(void) viewWillAppear:(BOOL)animated
{
  [MyTableView reloadData];
}

И, пожалуйста, подключите IBOutlet TableView в нашем случае его MyTableView к TableView в XIB-файле.In My case Its getclientTable.

...