Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 协议方法的默认值是可选的还是必需的?_Objective C_Delegates_Protocols - Fatal编程技术网

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

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

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


提前谢谢

@required
在默认情况下始终保证,如果您继承协议并忘记实现方法,您的应用程序不会崩溃。因此,您应该从

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


默认情况下,它始终是必需的。没有办法改变,或者许多事情会突然开始崩溃。

如果某个东西没有实现所需的方法,它是否只会抛出编译器警告而不是错误?@矩阵式地说,我认为这是一个错误,但为什么不试试看呢?@rmaddy是的,我尝试过,没有编译器错误。只是运行时崩溃。