协议与接口

Obs*_*nix 8 c# syntax objective-c swift

我一直在阅读快速文档,并在操场上工作.我不得不承认我对Objective-C/iOS开发没有任何了解(至少在Xamarin之外).在我看来,协议看起来与C#界面完全相同.

然而,我注意到在网上四处看看,Objective-C有一个协议()一个接口的概念(虽然我不确定区别是什么).Swift似乎没有两者 - 只是协议.

有人可以解释一下,协议和C#接口之间的区别/关系是什么?

更新:我理解答案可能在功能上与列出的副本相同,但我认为,鉴于这是在询问不同的语言,这个问题仍然有其自身的优点.毕竟,swift的新开发人员可能不了解Java(除了Javascript,我没有).期望某人知道完全不同的语言系统,以便得到他们的问题的答案有点多,不是吗??在元的讨论,也讨论这个问题.

Con*_*nor 9

Objective C协议的用途与Java/C#中的接口基本相同.Objective C接口文件不同.与C类似,Objective C具有公开声明类的方法和属性的接口文件,然后在实现文件中实现.例如,您可能有一个类的接口文件,如下所示:

@interface  
-(void)myMethod;
@end
Run Code Online (Sandbox Code Playgroud)

然后在您的实现文件中实际实现该方法:

-(void)myMethod{
    //code
}
Run Code Online (Sandbox Code Playgroud)

Swift取消了单独的接口和实现文件.所以它只有协议.