Jor*_*rke 6 objective-c uitableview uiviewcontroller ios
我有一个UITableView作为a的子视图UIViewController.viewController UI通过故事板进行管理.委托和数据源根据需要设置为viewController.
我有以下代码:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
if (updateType == Profile) {
return 15;
}
else {
return 6;
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
Run Code Online (Sandbox Code Playgroud)
上述两种方法完全按照它们的要求调用.调用[self.tableview reloadData]结果再次调用方法.令人困惑的部分- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath永远不会被称为.永远.
数据源和委托在代码中设置,其中self.tableview是UITableView故事板中的IBOutlet :
self.tableview.delegate = self;
self.tableview.dataSource = self;
Run Code Online (Sandbox Code Playgroud)
找到答案
我正在使用具有自动布局的故事板.问题是尺寸设置为wRegular hRegular,尽管故事板的其余部分设置为wAny hAny.只需切换它就可以了!荒谬我知道,但它仍然是一个答案.
您确定您的 dataSource 和 delegate 设置为正确的类吗?在 IB 中很容易犯错,尤其是在复制/粘贴时。在 viewDidAppear 方法中放置一个断点,然后在控制台调用中放置一个断点
po self.tableView.dataSource
Run Code Online (Sandbox Code Playgroud)
验证它是否在运行时设置。
| 归档时间: |
|
| 查看次数: |
1464 次 |
| 最近记录: |