如何将UITableView添加到现有视图?
我已经通过界面构建器添加了控件,并将正确的委托添加到主机视图控制器(包括将表格单元格函数添加到.m文件中)
但是没有任何东西被调用,没有任何东西被填充,例如,cellForRowAtIndexPath
函数永远不会被调用。
@interface GameViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UITableView *friendsScoresView;
.m文件中的
init {
_friendsScoresView.delegate = self;
_friendsScoresView.dataSource = self;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// return number of rows
return 3;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyBasicCell"];
//NSMutableArray *nearbyScores = gclb->nearbyScores;
GCLeaderboardScore *playerScore = [gclb->nearbyScores objectAtIndex:indexPath.row];
cell.textLabel.text = [NSString stringWithFormat:@"%f",playerScore->score ];
cell.imageView.image = playerScore->photo;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// handle table view selection
}
我错过了什么?另外我如何告诉表更新/刷新其内容?
答案 0 :(得分:1)
如果您在IB中添加了UITableViewController
,请单击右侧的“出口”选项卡,然后在IB中连接DataSource和Delegate。如果要在代码中执行此操作,请为表创建IBOutlet
变量,并在变量上设置委托和数据源属性。此外,您无法在init
UIViewController
上执行此操作,因为尚未加载NIB。在viewDidLoad
上进行。