我的表格视图没有填充

时间:2013-08-04 20:14:56

标签: ios objective-c uitableview

我正在使用本教程介绍如何创建弹出菜单。 http://www.appcoda.com/ios-programming-sidebar-navigation-menu/

我在完成教程时已经开始工作了,现在我正在尝试将它实现到我的应用程序中。

我正处于可以按菜单按钮并出现弹出菜单的阶段。问题是,它不会填充我的表视图单元格。

我为每个表格视图单元格设置了标识符,然后在代码中将它们引用为一个完整的数组。

我知道在浏览教程时,如果我在定义数组中的内容时拼错了其中一个标识符,程序就会崩溃。在我的应用程序中,情况并非如此。希望这可以帮助解决问题。它甚至不会改变代码第一部分的颜色。

这是代码。

#import "SidebarViewController.h"
#import "SWRevealViewController.h"


@interface SidebarViewController ()

@property (nonatomic, strong) NSArray *menuItems;


@end

@implementation SidebarViewController

- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
    // Custom initialization
}
return self;
}

- (void)viewDidLoad
{
[super viewDidLoad];

self.view.backgroundColor = [UIColor colorWithWhite:0.2f alpha:1.0f];
self.tableView.backgroundColor = [UIColor colorWithWhite:0.2f alpha:1.0f];
self.tableView.separatorColor = [UIColor colorWithWhite:0.15f alpha:0.2f];

_menuItems = @[@"markup",@"tax"];

}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

#pragma mark - Table view data source

- (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 [self.menuItems count];

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath     *)indexPath
{
NSString *CellIdentifier = [self.menuItems objectAtIndex:indexPath.row];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

return cell;
}

任何帮助都会很棒。

由于

2 个答案:

答案 0 :(得分:2)

您所做的只是创建一个包含两个字符串文字的数组。您必须在以下方法中设置textlabel的text属性,以在表格视图单元格中显示字符串:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }
    cell.textLabel.text = [_menuItems objectAtIndexPath:indexPath.row];
    return cell;
}

答案 1 :(得分:0)

OMG我觉得这样的菜鸟。事实证明ViewController没有目标,因此它没有响应。

我很抱歉浪费你的时间,我现在感觉很糟糕。