Если у меня есть делегат, который находится в его собственном заголовочном файле myDelegate.h. Затем у меня есть класс (ClassOne), который реализует протокол делегата (следовательно, реализуя функцию (функции) делегата). Затем я создаю другой класс (ClassTwo), который имеет переменную экземпляра myDelegate. Могу ли я затем использовать эту переменную для вызова функции, которая находится в ClassOne?
Вот код:
//myDelegate.h
@protocol myDelegate <NSObject>
- (BOOL)myFunction:(NSString*)sString;
@end
//ClassOne.h
@interface ClassOne : NSObject <myDelegate> {
}
- (BOOL)myFunction:(NSString*)sString;
@end
//ClassOne.m
#import "ClassOne.h"
@implementation ClassOne
- (BOOL)myFunction:(NSString*)sString
{
//do stuff
}
@end
//ClassTwo.h
#import "myDelegate.h"
@interface ClassTwo : NSObject {
id<myDelegate> del;
}
@property (nonatomic, retain) id<myDelegate> del;
@end
//ClassTwo.m
#import "ClassTwo.h"
@implementation ClassTwo
- (void)aFunction:(NSString*)string
{
[del myFunction:string];
}
@end