如何将UITableView添加到现有视图

时间:2013-10-13 15:16:05

标签: ios objective-c uitableview uiviewcontroller

如何将UITableView添加到现有视图?

我已经通过界面构建​​器添加了控件,并将正确的委托添加到主机视图控制器(包括将表格单元格函数添加到.m文件中)

但是没有任何东西被调用,没有任何东西被填充,例如,cellForRowAtIndexPath函数永远不会被调用。

.h文件中的

@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
}

我错过了什么?另外我如何告诉表更新/刷新其内容?

1 个答案:

答案 0 :(得分:1)

如果您在IB中添加了UITableViewController,请单击右侧的“出口”选项卡,然后在IB中连接DataSource和Delegate。如果要在代码中执行此操作,请为表创建IBOutlet变量,并在变量上设置委托和数据源属性。此外,您无法在init UIViewController上执行此操作,因为尚未加载NIB。在viewDidLoad上进行。