9

如何在?下面是我正在尝试做的一个例子(除了这只是在我的故事板中):UITableview

UIViewController 中的 UITableView

我发现我需要将委托和数据源添加到我的标题中:

//MyViewController.h
@interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>

在我的实现文件中,我添加了所需的方法:

//MyViewController.m

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    NSLog(@"cellForRowAtIndexPath");

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"FileCell"];

    NSLog(@"cellForRowAtIndexPath");
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSArray *fileListAct = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:nil];

    cell.textLabel.text = [NSString stringWithFormat:@"%@",[fileListAct objectAtIndex:indexPath.row]];

    return cell;
}

delegatedatasourceUITableView连接在我的故事板中:

Interface Builder Connections Outlet 中的 UITableView 委托和数据源

我无法让 TableView 加载我告诉它的内容。它总是空白。为什么 TableView 不会填充我在 cellForRowAtIndexPath 方法中告诉它的内容?我在这里想念什么?

4

4 回答 4

11

您必须将数据源和委托出口从情节提要中的 tableview 链接到视图控制器。这不是可选的。这就是为什么您的表格是空白的,它永远不会调用您的视图控制器的表格视图方法。(您可以通过在它们上设置断点并看到它们永远不会被触发来证明这一点。)您遇到了什么样的构建错误?

于 2012-04-25T23:59:18.527 回答
1

您没有返回任何有效值。看到return;没有任何数值返回?

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
  return; // it should be return 15; or return self.datasource.count;
  NSLog(@"numberOfRowsInSection");
}
于 2013-06-26T20:20:35.477 回答
0

您需要 YourTableView 的 IBOutlet,然后将 TableView 连接到 YourTableView

于 2013-11-08T22:10:42.100 回答
0

问题出在UITableViewDelegate方法numberOfRowsInSection上。这个不返回NSInteger行数。这个例子可以帮助:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return theNumberOfRowsForYourTable; // <-- not just return;
}
于 2018-12-05T22:10:57.423 回答