Objective c 委托方法目标-c

Objective c 委托方法目标-c,objective-c,ios,cocoa-touch,Objective C,Ios,Cocoa Touch,我想我理解委托模式是如何工作的,但这一部分对我来说并不清楚 如何创建返回结果的自定义委托方法? 返回值到哪里去了? 如何将数据源与委托方法一起使用 这就是我的意思。这是UITableViewDelegate的委托方法。根据返回值的不同,表行具有不同的高度 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 22; } 我阅读了苹果公司关

我想我理解委托模式是如何工作的,但这一部分对我来说并不清楚

如何创建返回结果的自定义委托方法? 返回值到哪里去了? 如何将数据源与委托方法一起使用

这就是我的意思。这是UITableViewDelegate的委托方法。根据返回值的不同,表行具有不同的高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
  return 22;
}
我阅读了苹果公司关于这个主题的文档,但我仍然感到困惑


如果可能的话,请提供一些简单的代码示例。

这里有一个非常好和彻底的解释,您可以看到示例代码和有关委托模式的更多信息。

委托是所谓的设计模式的一个示例。给你

在iOS上,UIApplication类提供了一个很好的委托示例。UIApplicationLegate协议指定此(可选)方法:

充当UIApplication委托的类可以实现此方法,并且此方法将在应用程序即将终止时执行。因此,委托是一种允许在现成对象(在本例中为UIApplication)中定制行为的技术。应用程序必须随时终止,但在应用程序终止之前,由每个应用程序的程序员决定需要发生什么

苹果的文档说明:

您应该使用此方法为应用程序执行任何最终清理任务,例如释放共享资源、保存用户数据、使计时器无效,以及存储足够的应用程序状态,以便在重新启动应用程序时重建应用程序的界面。此方法的实现大约有五秒钟的时间来执行任何任务并返回。如果该方法在时间到期之前未返回,系统可能会完全终止该进程


表视图有一个对其委托的引用,因此tv向其委托请求高度值。。该值由tv使用,tv会相应地调整行的大小。dataSource和delegate在扮演不同角色的意义上是不同的,但两者的mecanism是相同的。
- (void)applicationWillTerminate:(UIApplication *)application