我有一个ViewController,它几乎没有文字和标签控制
根据在文本控件中输入的值,我创建(自定义)UITableView并将其附加到VwCtrl上,如下所示
myUITableViewClass *grid = [[myUITableViewClass alloc] initWithStyle:UITableViewStylePlain];
grid.view.frame = CGRectMake(20.f, 322.f, 280.f, 186.f);
[self.presentedViewController addChildViewController:grid];
[self.view addSubview:grid.view];
在运行时,我能够看到网格已创建 - 没有数据显示!
我已经检查了方法cellForRowAtIndexPath中的数据 - 没问题。
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:simpleTableIdentifier];
//NSLog (@"Cell created");
}
NSLog (@"%@", [object objectForKey:@"ID"]) ;
cell.textLabel.text = [object objectForKey:@"ID"];
cell.detailTextLabel.text = [object objectForKey:@"Name"];
return cell;
答案 0 :(得分:0)
您需要分配tableview的dataSource才能调用tableview:cellForRowAtIndexPath:
myUITableViewClass *grid = [[myUITableViewClass alloc] initWithStyle:UITableViewStylePlain];
grid.view.frame = CGRectMake(20.f, 322.f, 280.f, 186.f);
grid.dataSource = self;
grid.delegate = self;
[self.presentedViewController addChildViewController:grid];
[self.view addSubview:grid.view];
如果还没有,还需要实现其他必需的UITableViewDataSource方法tableView:numberOfRowsInSection:
。
此外,如果您想实现任何UITableViewDelegate方法,例如tableView:didDeselectRowAtIndexPath:
,您需要设置tableview的委托,如上所示。
答案 1 :(得分:0)
你有没有把自己定位为你的代表和数据源?
myUITableViewClass *grid = [[myUITableViewClass alloc] initWithStyle:UITableViewStylePlain];
grid.view.frame = CGRectMake(20.f, 322.f, 280.f, 186.f);
grid.delegate = self;
grid.delegate= self;
[self.presentedViewController addChildViewController:grid];
[self.view addSubview:grid.view];