我知道这已被一遍又一遍地问过。我已经尝试了所有给定的解决方案,但它仍然无效。我已将数据源和委托设置为我的表视图,并将其设置为我的指针。
这是我的代码:
- (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 :(得分:0)
使用此代码:
urtableview.delegate = self;
urtableview.datasource = self;
在代码中声明resultsoap数组后。
答案 1 :(得分:0)
当表视图数据源数组“resultsoap”为空时,必须是调用表的重载方法。 确保数据源数组不为空,并检查数组是否已保存对象。
因为如果numberOfRowsInSection
返回0,则可能不会调用cellForRowAtIndexPath
。
这必须是你的情况。
答案 2 :(得分:-3)
请在合适的方法中添加Bellow Code。
如果您使用简单控制器和添加表视图而不是
在你的Header File .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];
}
并且在我们的案例中将TableView的IBOutlet连接到XIB文件中的MyTableView到TableView。