委托语法

时间:2013-08-04 09:36:23

标签: ios objective-c uitableview delegates

如果我在界面构建器中创建一个tableview并将数据源和委托连接到那里的文件所有者,我是否还需要在所述viewcontroller的实现中执行此操作?

@interface myViewController : UIViewController **<UITableViewDataSource**, **UITabBarControllerDelegate>**

即手动指定协议遵守情况?

谢谢,

3 个答案:

答案 0 :(得分:3)

从接口构建器设置委托和数据源时,似乎没有理由指定该类符合的协议。

它可以在不手动指定它们的情况下工作,因为语言非常动态,并且调用委托方法的过程在运行时完成,而不确定对象是否具有所需的方法。

只有在从代码设置委托/数据源时,才会进行一些静态类型检查,以查看委托/数据源是否符合所需的协议。

底线:写下来。你得到xcode自动完成,在某些情况下可能会有一些警告,代码文档和一些OCD实现。

答案 1 :(得分:1)

是。在代码中指定类实现协议是告诉XIB您可以建立连接并告诉编译器必须实现协议中所有必需的方法(如果不是,则应该引发警告)

从技术上讲,你可以不用它们,但你不应该这样做。

答案 2 :(得分:-1)

你尝试过吗?它没有用吗?

当您在头文件中添加UITableViewDataSource和UITabBarControllerDelegate时,您只能在interfacebuilder中连接它们。

不要忘记在实施中实施所需的方法(datasource&amp; delegate)。当你忘记它们时,你会收到警告。