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

lon*_*bow 0 cs193p ios

在第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;
}
Run Code Online (Sandbox Code Playgroud)

我顺便使用Xcode 4.3.3 ......

Poc*_*chi 6

你误解了默认值的含义.当苹果或教师或某人提到方法的默认返回值是某种东西时,则意味着每当该方法未实现时,它将以这种方式运行.

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

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