协议方法的默认值是可选的还是必需的?

时间:2015-10-23 15:17:07

标签: objective-c delegates protocols

我曾经认为协议方法的默认/隐式说明符是可选的。但是,在我当前的项目中,如果我没有特别添加@optional说明​​符,我会看到一个警告。没有大碍。我只是想知道,它是可选的默认一段时间了,现在它是必需的吗?或许我在前一段时间学习Objective-C时错过了一些东西。

提前致谢!

2 个答案:

答案 0 :(得分:5)

默认情况下,

@required始终保证,如果您继承协议并忘记实现方法,那么应用程序不会崩溃。所以你应该设置@optional

答案 1 :(得分:3)

来自Apple documentation

  

默认情况下,协议中声明的所有方法都是必需的方法。

默认情况下始终需要它。没有办法改变或许多事情会突然爆发。