Вызов метода Objective C iOS через протоколы - PullRequest
0 голосов
/ 27 октября 2011

Я работаю над проблемой дизайна моего приложения для 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 Ответ

4 голосов
/ 27 октября 2011
@protocol Protocol
- (void)someFunction;
@end

@interface A <Protocol>
@end

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

В другом месте

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

[a someFunction];

[a release];
...