我无法使类别显示在表格视图单元格中

时间:2019-06-02 19:23:57

标签: ios objective-c uitableview

该应用程序启动时没有任何技术问题,尽管我可以 不能使硬编码的类别出现在.m文件的表视图单元格中。表格视图的样式是基本的,因此,我认为我可以使用.m文件通过以下方式获得标题示例:

self.items = @[@ {@"name" : @" Chores", @"Category" : @"Home"}].mutableCopy;

起初,我认为问题是因为我忘记设置重用标识符而发生的。但是解决该问题没有帮助。我在Xcode中没有收到警告或错误。除了ViewController.m和main.Storyboard文件之外,我没有修改任何其他文件。

.m文件中的代码

#import "ViewController.h"

@interface ViewController ()

@property (nonatomic) NSMutableArray *items;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    self.items = @[@ {@"name" : @" Chores", @"Category" : 
@"Home"}].mutableCopy;

    //self.navigationItem.title = @"What2Do list";
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.items.count;
}

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

    NSDictionary *item = self.items[indexPath.row];

    cell.textLabel.text = item[@"name"];

    return cell;
}

@end

我希望在启动应用程序时在表格单元中显示“合唱”,但不会出现。

1 个答案:

答案 0 :(得分:1)

在ViewController.h中,您需要设置表格视图的Delegate。

@interface ViewController : UIViewController<UITableViewDelegate,UITableViewDataSource>

此外,您还需要将tableview链接到viewcontroller作为其委托。最简单的方法是将其添加到情节提要中。

首先将表Ctrl + Ctrl拖到情节提要上的viewController符号中。

enter image description here

在列表上单击代理。

再次重复使用dataSource。

enter image description here