最重要的区别是,
forIndexPath:如果您没有为标识符注册类或笔尖,则该版本会断言(崩溃)。在这种情况下,
forIndexPath:将返回较旧的(非)版本
nil。
您可以通过发送
registerClass:forCellReuseIdentifier:到表视图来为标识符注册一个类。您可以通过发送
registerNib:forCellReuseIdentifier:到表视图为该标识符注册一个笔尖。
如果在情节提要中创建表格视图和单元原型,则情节提要加载器将负责注册在情节提要中定义的单元格原型。
第200节-WWDC 2012的Cocoa
Touch的新功能讨论了
forIndexPath:大约8时30分开始的(新的)版本。它说“您将始终得到一个初始化的单元格”(没有提到如果您不注册类或笔尖则它将崩溃)。
该视频还说“这将是该索引路径的正确大小”。大概这意味着它将通过查看表视图自身的宽度并调用委托的
tableView:heightForRowAtIndexPath:方法(如果已定义)来设置单元格的大小,然后再返回它。
这就是为什么它需要索引路径。



