Ios 斯坦福cs193p 2011年秋季课程在第9课中犯了错误?

Ios 斯坦福cs193p 2011年秋季课程在第9课中犯了错误?,ios,cs193p,Ios,Cs193p,在第9课中,老师说numberOfSectionsInTableView:方法默认返回1,但当我创建自己的项目时,我发现它默认返回0,这使得我的表视图单元格消失了!我找到了问题所在,并通过将numberOfSectionsInTableView设置为:返回1,问题已解决。那么,这意味着斯坦福犯了一个错误 当我在.m文件中添加UITableViewController的新子类时,Xcode生成了以下代码: - (NSInteger)numberOfSectionsInTableView:(UITa

在第9课中,老师说numberOfSectionsInTableView:方法默认返回1,但当我创建自己的项目时,我发现它默认返回0,这使得我的表视图单元格消失了!我找到了问题所在,并通过将numberOfSectionsInTableView设置为:返回1,问题已解决。那么,这意味着斯坦福犯了一个错误

当我在.m文件中添加UITableViewController的新子类时,Xcode生成了以下代码:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
#warning Potentially incomplete method implementation.
    // Return the number of sections.
    return 0;
}

顺便说一下,我正在使用Xcode 4.3.3…

恐怕我们的斯坦福德朋友是对的。默认值为1。我很少使用这种方法。为了确定这一点,我从正在开发的应用程序中删除了该方法,并对其进行了测试,果然,只有1个部分。我开发了从1.0版到当前版本的应用程序


确保您的委托被设置为正确的类。并确保您的xib具有文件所有者的正确类名。我相信“默认”的意思是,如果您的
UITableViewDataSource
没有实现
numberOfSectionsInTableView:
,则假定值为1。Xcode模板可能包含上述代码(返回0),但这与框架的默认值不同。

您误解了默认值的含义。当苹果、老师或其他人提到某个方法的默认返回值是某个东西时,这意味着无论何时该方法未实现,它都将以这种方式运行

编写自己的方法时,返回的值为0。如果使用该模板,则该模板将覆盖该方法以将其设置为0。如果想要默认行为,只需删除该方法


这种委托方法在大多数情况下都有默认值。控件单击头文件上的委托实现,您将看到@Optional methods,这些方法大多数时候都有默认值。

是否有代码(两者都有)?在C或Obj-C中没有“默认返回值”。没有绝对正确的人。-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView{#警告可能不完整的方法实现//返回节数。返回0;}所以我应该删除上面的代码,然后问题就消失了?很简单,谢谢!是的,但是在代码中明确这样的事情通常是很好的。是的,我现在明白了。谢谢!