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

Is optional or required the default for protocol methods?

我曾经认为协议方法的default/implicit说明符是可选的。但是,在我当前的项目中,如果我没有专门添加 @optional 说明符,我会看到一条警告。没什么大不了的。我只是想知道,它在一段时间内是可选的默认值,现在是必需的吗?或者我前段时间学习的时候漏掉了什么Objective-C。

提前致谢!

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

来自Apple documentation

By default, all methods declared in a protocol are required methods.

默认情况下始终需要它。没有办法改变,否则很多事情会突然开始崩溃。