0

如果我在界面生成器中创建一个表视图并将数据源连接并委托给那里的文件所有者,我是否还需要在所述视图控制器的实现中执行此操作?

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

即手动指定协议遵守?

谢谢,

4

3 回答 3

3

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

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

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

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

于 2013-08-04T09:45:37.903 回答
1

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

从技术上讲,您可以没有它们,但您不应该这样做。

于 2013-08-04T09:39:36.347 回答
-1

你试过了吗?它没有工作吗?

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

只是不要忘记在您的实现中实现所需的方法(数据源委托)。顺便说一句,当您忘记它们时,您会收到警告。

于 2013-08-04T09:42:44.090 回答