委托方法objective-c

时间:2012-02-22 10:32:10

标签: objective-c ios cocoa-touch

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

如何创建返回结果的自定义委托方法? 返回值在哪里? 如何将dataSource与委托方法一起使用

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

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
  return 22;
}

我阅读有关该主题的苹果文档,但我仍然感到困惑。

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

2 个答案:

答案 0 :(得分:1)

有一个非常好的和详尽的解释herehere您可以看到示例代码和有关委托模式的更多信息。

答案 1 :(得分:1)

代表团是所谓的设计模式的一个例子。这是Apple documentation on delegation

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

- (void)applicationWillTerminate:(UIApplication *)application

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

Apple的文档说明:

  

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