Objective c 目标C:不包括<;UIC代表>;头文件中的协议?

Objective c 目标C:不包括<;UIC代表>;头文件中的协议?,objective-c,uiactionsheet,Objective C,Uiactionsheet,我正在实现一个操作表,发现即使在头文件中没有包含协议,代码也可以工作。不包括它有影响吗 谢谢 Zhen没有运行时影响*,但包括协议规范: 允许编译器验证您是否已实现所有必需的方法(例如,忘记使用UITableViewDataSource实现-tableView:cellForRowAtIndexPath:,将发出警告),以及 允许库编写器将类型限制为肯定能够响应预期方法的委托(例如,将非UIActionSheetDelegate分配给id将发出警告) (*:从技术上讲,协议列表可以在运行时查询,

我正在实现一个操作表,发现即使在头文件中没有包含协议,代码也可以工作。不包括它有影响吗

谢谢


Zhen

没有运行时影响*,但包括协议规范:

  • 允许编译器验证您是否已实现所有必需的方法(例如,忘记使用UITableViewDataSource实现
    -tableView:cellForRowAtIndexPath:
    ,将发出警告),以及

  • 允许库编写器将类型限制为肯定能够响应预期方法的委托(例如,将非UIActionSheetDelegate分配给
    id
    将发出警告)

  • (*:从技术上讲,协议列表可以在运行时查询,因此包含它可能会改变一些运行时行为,但这种情况很少。)