如果我在界面构建器中创建一个tableview并将数据源和委托连接到文件所有者那里,那么我是否也需要在所述viewcontroller的实现中执行此操作?委托语法
@interface myViewController : UIViewController **<UITableViewDataSource**, **UITabBarControllerDelegate>**
即手动指定协议遵守?
谢谢,
如果我在界面构建器中创建一个tableview并将数据源和委托连接到文件所有者那里,那么我是否也需要在所述viewcontroller的实现中执行此操作?委托语法
@interface myViewController : UIViewController **<UITableViewDataSource**, **UITabBarControllerDelegate>**
即手动指定协议遵守?
谢谢,
当从接口生成器设置委托和数据源时,似乎没有理由指定该类符合哪些协议。
它没有手动指定它们,因为语言是非常动态的,调用委托方法的这个过程是在运行时完成的,而不必确定对象是否具有所需的方法。
只有在代码中设置委托/数据源时,才会进行一些静态类型检查,以确定委托/数据源是否符合所需的协议。
底线:写出来。你会得到xcode自动完成,在某些情况下可能会出现一些警告,代码文档和一些OCD实现。
是的。在代码中指定类实现协议是告诉XIB您可以建立连接并告诉编译器必须实现协议中所有必需的方法(如果不是,则会引发警告) 。
技术上你可以没有他们,但你不应该这样做。
你试过了吗?它没有工作吗?
当您在头文件中添加UITableViewDataSource和UITabBarControllerDelegate时,您只能在interfacebuilder中连接它们。
只是不要忘记在你的实现中实现所需的方法(datasource & delegate)。当你忘记它们时,你会得到一个警告。