Objective-C iOS通过协议调用方法

时间:2011-10-27 07:05:02

标签: objective-c interface protocols

我正在为我的iOS应用程序设计有关协议的设计问题。现在我了解了用法,当需要协议时,我也明白它们类似于C#和Java中的接口。

您可以通过协议本身调用方法吗?例如,在C#中我可以执行以下操作:

public interface IInterface
{
    void SomeMethod();
    void SomeOtherMethod();
}


public class AClass : IInterface
{
    public void SomeMethod()
    {
        //Do something
    }

    public void SomeOtherMethod()
    {
        //Do something
    }
}


public class Program
{
    public void Main()
    {
         IInterface i = new AClass();
         i.SomeMethod();
    }
}

在Objective-C中这是可能的还是我试图强制.NET风格的方法进入iOS?

1 个答案:

答案 0 :(得分:4)

@protocol Protocol
- (void)someFunction;
@end

@interface A <Protocol>
@end

@implementation A
- (void) someFunction
{
    ....
}
@end

在其他地方

id<Protocol> a = [[A alloc] init];

[a someFunction];

[a release];