委托方法objective-c

问题描述:

我认为我理解委托模式是如何工作的,但这一部分对我来说并不明确。委托方法objective-c

如何创建返回结果的自定义委托方法? 返回值何去何从? 如何使用数据源与委托方法

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

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

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

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

+1

表视图具有对其委托的引用,所以电视向它的委托请求高度值..该值由电视使用,从而相应地调整行的大小。 dataSource和delegate在它们扮演不同的角色的意义上是不同的,但两者的机制都是一样的。 – 2012-02-22 10:34:29

有一个非常好的和彻底的解释herehere你可以看到示例代码和一些关于委托模式的更多信息。

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

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

- (void)applicationWillTerminate:(UIApplication *)application 

用作用于所述的UIApplication委托可以实现此方法,并且当应用程序要终止该方法将执行的类。因此,委托是一种允许在现成的对象中定制行为的技术(在这种情况下为UIA应用)。应用程序必须始终终止,但是应由每个应用程序的程序员来决定应用程序终止之前需要发生的事情。

苹果的文档状态:

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