我知道这个问题被问了很多次,但不幸的是,这些问题的解决方案都没有为我工作。
以下是我尝试过的一些事情:
确保numberOfSectionsInTableView
没有返回0
确保numberOfRowsInSection
没有返回0
。
确保使用performSelectorOnMainThread
在主线程上调用reloadData,如下所示:
[self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO]
设置委托:
self.tableView.dataSource = self; self.tableView.delegate = self;
确保tableview背景颜色已更改。
确保tableview框架可调。
但cellForRowAtIndexPath
方法从未调用过
请找到代码:
UITableView * tableView;
- (void)viewDidLoad {
[super viewDidLoad];
self.tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 320,480) style:UITableViewStylePlain];
self.tableView.delegate = self;
self.tableView.dataSource = self;
[self.view addSubview:self.tableView]
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 3;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = "test";
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 44;
}
如果你知道该怎么做,请告诉我。
由于
答案 0 :(得分:1)
你创建了tableView将它作为subView添加到ViewDidLoad()中的ViewController视图,这很好:)但是你在哪里调用tableView伙伴上的重载数据:)
添加
<span id="add_cal_in">M</span>
它会像魅力一样工作:)
答案 1 :(得分:0)
只需从模拟器卸载应用程序然后再次运行。有时它不起作用。
答案 2 :(得分:0)
您必须委托和数据源协议来查看控制器
@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
答案 3 :(得分:0)
<强>第一强>
@interface yourController ()<UITableViewDelegate,UITableViewDataSource>
<强>第二强>
-(void)viewDidLoad {
[super viewDidLoad];
self.tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 320,480) style:UITableViewStylePlain];
[self reloadData]; //call your webservice here
self.tableView.delegate = self;
self.tableView.dataSource = self;
[self.view addSubview:self.tableView]
[self.tableView reloadData]; //most imp
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return yourArray.count; //your array which is get from webservice
}