2011-03-22 2 views
0

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

Вот мой код:

- (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:.

Любое решение?

+0

Сколько строк оно возвращается? В режиме отладки вы можете увидеть содержимое resultSoap? – Peres

ответ

-3

Пожалуйста, добавьте Bellow Code в соответствии с вашими подходящими методами.

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

В вашем файле заголовка .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]; 
} 

и доброжелательно Connect IBOutlet Of TableView в нашем примере MyTableView для TableView в XIB-файле. In My case Its getclientTable.

0

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

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

После объявления массива resultsoap в вашем коде.

0

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

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

Смежные вопросы