Как создать объекты протокола, чтобы я мог вызывать его методы в Objective-C? - PullRequest
2 голосов
/ 16 февраля 2010

У меня есть протокол, скажем

@protocol MyProtocol
-(void)mload 
@end

с методом mload, у меня также есть ClassA, который реализовал этот метод протокола, т.е. mload.

@implementation ClassA
-(void)mload {
    NSLog(@"ClassA-mload");
}
@end

Теперь мне нужновызовите этот метод в другом классе, скажем, ClassB, используя экземпляр ClassA.Как это сделать?

1 Ответ

4 голосов
/ 16 февраля 2010

В ClassB как-то так, не уверен, как вы получаете ссылку на ClassA obj, но:

// obj is of type that implements protocol
id<MyProtocol> obj = [[ClassA alloc] init];
[obj load];


// should work as well because objective-c is dynamically typed so you can call
// any method on an object
id obj = [[ClassA alloc] init];
[obj load];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...