1

UITableViewController我使用 IB在 Storyboard中创建了一个。我将 设置UITableview's delegate为它的控制器。有UITableView静态单元格。只有2节。第一部分有 3 个不可选择的行。最后一节有 1 行可供选择。我只在 IB 中设置了这一切。

然后我在 UITableViewController 中实现了这个方法。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"SELECTED");

    if (indexPath.section == 1 && indexPath.row == 0) {
        //login and report the result
        [self login];
    }
}

当我选择第二部分中的唯一一行时,上面的方法不会被调用。可能出了什么问题。我还仔细检查了 UITableView 出口检查器中的委托设置。一切都很好!

4

2 回答 2

0

只需这样做:控制将您的 tableView 从 Storyboard 拖到 viewcontroller .h 文件,为 ex 创建 @property。表视图。再次添加到 .h 文件。然后在 viewDidLoad 的 .m 文件中写下:

    -(void)viewDidLoad{
       //your other code
       self.tableView.delegate = self;
       self.tableView.dataSource = self;
       //other code ...
     }

我更喜欢使用 tblView 作为属性名称,因为您会看到 tableView 隐藏实例的警告。希望这有帮助。

于 2012-10-02T04:47:51.547 回答
0

看到控制台中的 NSLog 语句了吗?在 viewDidAppear 中怎么样,NSLog(@"Delegate: %@",tableView.delegate)

看看你是否在控制台中得到 NULL 。

您知道数据源已正确连接,否则您将看不到任何单元格。它必须是您的代表连接 =)

于 2012-10-01T17:39:01.023 回答