带标签栏控制器的UITableView

时间:2014-06-22 11:11:54

标签: objective-c uitableview

我有一个标签栏控件,我想在第一个标签中显示表格视图。

在我的故事板中,我有带有项目的Tab Bar视图控制器,我将tableview和tableview单元格放入其中。 (我不确定。我应该把它们放在tableview中显示数据还是应该以编程方式显示?)我从数据库中获取数据(这方面没有任何问题)但是无法绑定tableview中的数据

我的代码有什么问题?

我的代码:

.h文件

     @interface CategoryTabController : UIViewController<UITableViewDataSource, UITableViewDelegate>
    {
        DatabaseProcess *databaseProcess;
        UITableView *categoryTableView;
        NSMutableArray *categoryTableArray;

    }

.m file

@implementation CategoryTabController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    databaseProcess = [[DatabaseProcess alloc]init];

    //Get Category data to array
    categoryTableArray = [[NSMutableArray alloc]initWithArray:[databaseProcess getAllActiveCategory]];


    categoryTableView = [[UITableView alloc]init];

    categoryTableView.delegate = self;
    categoryTableView.dataSource = self;

    [self.view addSubview: categoryTableView];


}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{    // Return the number of rows in the section.
    return categoryTableArray.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CategoryCell" forIndexPath:indexPath];

    cell.textLabel.text = [categoryTableArray objectAtIndex: indexPath.row];

    return cell;
}

1 个答案:

答案 0 :(得分:0)

您必须将categoryTableView作为IBOutlet属性并将其连接到IB中的表。此外,您必须将“CategoryCell”设置为IB中的单元格标识符,以“dequeueReusableCellWithIdentifier”才能工作。