我正在尝试编写一个具有自定义tableviewcell的应用程序,因此我按照了Apple开发人员示例代码,但是当我运行我的应用程序时,屏幕完全是白色的。当我在numberOfSectionsInTableView,numberOfRowsInSection或cellForRowAtIndexPath中放置断点/ NSLog时,什么都没有显示。
这是我的delegate.m
RootViewController *rootViewController = [[RootViewController alloc]initWithStyle:UITableViewStylePlain];
rootViewController.displayList=[self displayList];
UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
self.navigationController=aNavigationController;
[aNavigationController release];
[rootViewController release];
[window addSubview:[navigationController view]];
[self.window makeKeyAndVisible];
这是我的RootViewController.m中的cellForRowAtIndexPath
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"TableCell";
TableCell *tableCell = (TableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (tableCell == nil) {
tableCell = [[[TableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
tableCell.frame=CGRectMake(0.0, 0.0, 320.0, 60);
}
NSLog(@"71");
return tableCell;
}
我知道如果没有行,cellForRowAtIndexPath将不显示,但numberOfRowsInSection不应该至少有效吗?我甚至评论了numberOfRowsInSection,应用程序仍然可以构建(虽然仍然是空白)
由于
答案 0 :(得分:1)
您是否将viewcontroller作为xib文件的所有者挂钩?然后将数据源和委托方法连接到文件所有者?
编辑:如果你没有为你的tableview创建一个xib文件,我推荐它编码。创建它之后,只需像我提到的那样连接所有内容。还要为tableviewcell创建一个,然后将其加载到cellForRowAtIndexPath
中答案 1 :(得分:0)
听起来像是:数据源和代理没有联系起来。可以通过
进行测试NSLog(@"%@,%@",tableView.delegate, tableView.datasource);
如果它们显示为null,则表示您已找到问题。 如果不是这样,那么检查委托和数据源方法中的拼写错误。