TableView数据在模拟器上不可见

时间:2012-12-10 15:33:45

标签: objective-c ios ipad

我使用TableView来显示数据数组,但是当我编译应用程序时,似乎没有调用TableView的函数。以下是我为此目的使用的代码:

- (NSInteger)tableView:(UITableView *)TableView numberOfRowsInSection:(NSInteger)section {

    return listdata.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: @"myCell"];    
    if (cell == nil) {
        cell =  [[ UITableViewCell alloc ] initWithFrame:CGRectZero];
    }

    NSUInteger row = [indexPath row];
    cell.textLabel.text = [self.listdata objectAtIndex:row];

    return cell;
}

1 个答案:

答案 0 :(得分:1)

如果您正在使用UITableViewController但只是在UITableView中添加UIViewController,则需要将TableView的委托和数据源设置为VC的类。

您可以在故事板中执行此操作,方法是从TableView拖动到ViewController并选择委托/数据源,或者您可以通过将此代码放在ViewController的.m中,在viewDidLoad中以编程方式执行此操作方法:

_tableView.delegate = self;
_tableView.datasource = self;

并将<UITableViewDelegate, UITableViewDatasource>添加到ViewController的.h:

@interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDatasource>