Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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
Ios 为什么';objective-c运行时是否实现了与方法类_addProtocol相反的功能?_Ios_Objective C_Runtime - Fatal编程技术网

Ios 为什么';objective-c运行时是否实现了与方法类_addProtocol相反的功能?

Ios 为什么';objective-c运行时是否实现了与方法类_addProtocol相反的功能?,ios,objective-c,runtime,Ios,Objective C,Runtime,我们可以假设,如果obj-c运行时实现了方法class\u addProtocol,它还将实现该方法的对应项,比如class\u removeProtocol。然而,在我看来,似乎没有这样的方法。我很好奇为什么 有关使用class\u removeProtocol会派上用场的场景,请参阅。为什么在运行时需要removeProtocol?我想不出任何理由。@stevesliva easy:想想什么时候需要addProtocol,然后想想相反的情况:)在动态语言中删除任何内容的一致性会改变什么?仅仅

我们可以假设,如果obj-c运行时实现了方法
class\u addProtocol
,它还将实现该方法的对应项,比如
class\u removeProtocol
。然而,在我看来,似乎没有这样的方法。我很好奇为什么


有关使用
class\u removeProtocol
会派上用场的场景,请参阅。

为什么在运行时需要removeProtocol?我想不出任何理由。@stevesliva easy:想想什么时候需要addProtocol,然后想想相反的情况:)在动态语言中删除任何内容的一致性会改变什么?仅仅因为您没有声明与NSCopying的一致性,并不意味着这些方法不存在。@kadam--运行时是否支持在类命名后重命名类?修改继承?我知道有些东西,比如类的方法,在设计上不是静态的,但实现的协议似乎应该是静态的。考虑到您的需要--您不能覆盖对象类的
conformsToProtocol
实例方法,以便您可以根据需要切换它吗?