Ran*_*wan 6 iphone objective-c
我是一名新的iPhone程序员
我创建了一些没有委托的小视图....如果程序可以在没有委托的情况下运行,那么为什么要使用它们.他们需要什么,我在网上看到了一些有代表的节目.
我很困惑,请回答.
Ale*_*yne 11
委托是一种模式,允许某些对象在发生事件时通知另一个对象.许多委托方法以"will"或"did"开头,分别在事件发生之前和之后调用.
假设您有一个UITableView,并且您想知道用户何时点击一个单元格以便您可以处理他们的选择.您将委托分配给实现委托方法的表视图tableView:didSelectRowAtIndexPath:.
这种方法的好处是表视图不必知道或关心这个其他委托对象是什么或它是如何工作的.它允许生成事件的对象保持专注和清洁,只处理它自己的状态.当它做一些值得注意的事情时,它会向它的代表发送一条消息.委托对象根本不需要了解其他对象的内部状态.它只需要知道它做了一些重要的事情.
这很适合iPhone SDK的模型/视图/控制器(MVC)方法.视图应仅关注它如何显示自身,并且控制器是视图的委托,以便在事情发生变化时.
使用代理进行编程不是必需的语言功能Objective-C.它只是SDK使用的一种设计模式.但这是一个相当好的模式,可以帮助您的代码更清洁.