Objective c 协议方法的默认值是可选的还是必需的?
我过去认为协议方法的默认/隐式说明符是可选的。但是,在我当前的项目中,如果我没有特别添加@optional说明符,我会看到一条警告。没什么大不了的。我只是想知道,它是可选的默认一段时间,现在它是必需的?或许我在前一段时间学习Objective-C时错过了什么Objective c 协议方法的默认值是可选的还是必需的?,objective-c,delegates,protocols,Objective C,Delegates,Protocols,我过去认为协议方法的默认/隐式说明符是可选的。但是,在我当前的项目中,如果我没有特别添加@optional说明符,我会看到一条警告。没什么大不了的。我只是想知道,它是可选的默认一段时间,现在它是必需的?或许我在前一段时间学习Objective-C时错过了什么 提前谢谢 @required在默认情况下始终保证,如果您继承协议并忘记实现方法,您的应用程序不会崩溃。因此,您应该从 默认情况下,协议中声明的所有方法都是必需的方法 默认情况下,它始终是必需的。没有办法改变,或者许多事情会突然开始崩溃。如果
提前谢谢
@required
在默认情况下始终保证,如果您继承协议并忘记实现方法,您的应用程序不会崩溃。因此,您应该从
默认情况下,协议中声明的所有方法都是必需的方法
默认情况下,它始终是必需的。没有办法改变,或者许多事情会突然开始崩溃。如果某个东西没有实现所需的方法,它是否只会抛出编译器警告而不是错误?@矩阵式地说,我认为这是一个错误,但为什么不试试看呢?@rmaddy是的,我尝试过,没有编译器错误。只是运行时崩溃。