除非我遗漏了什么,否则我将协议(protocol)定义放在哪个 .h 文件中似乎是任意的。我什至想知道它是否可以在它自己的 .h 文件中...(在 Java 中,它在它自己的文件中)
最佳答案
我认为协议(protocol)的位置取决于您如何使用它。很多时候,协议(protocol)用于定义另一个类的委托(delegate)或数据源的功能。如果是这种情况,我认为您可以安全地将协议(protocol)定义放在其他类的顶部 - 因为它们必然会一起使用。
如果您要定义一个协议(protocol)来代替共享基类,您应该将它放在一个单独的文件中。例如,我有几个实现“操作”协议(protocol)的不同类。我的一些其他函数期望接收一个实现协议(protocol)的对象,并且不太关心实际的类。在这种情况下,将协议(protocol)定义放在它自己的头文件中是有意义的,这样您就可以自己包含它。
不过,Benny 是对的 - 从技术上讲,无论您将它放在哪里(只要它在使用前包含在某处),它都会定义。
关于在它自己的 .h 文件中定义的 objective-c 协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/958289/