Delegate will be defined in the class from where the event need to be triggered
For example:
if class name is MyClass in swift
delegate will be defined as
For example:
if class name is MyClass in swift
delegate will be defined as
@objc protocol MyClassDelegate: NSObjectProtocol {
func myClass(myclass: MyClass, myFunction parameter: Parameter)
}
if some data is required in the class, the data source is defined as
@objc protocol MyClassDataSource: class {
func myClass(myClass: MyClass, myFunction parameter: Parameter) -> data? // like UUImage
}
------- in class implementation
var delegate: MyClassDelegate?
var dataSource : MyClassDataSource?
self.delegate?.myClass(self, myFunction: whateverParameter)
self.dataSource?.myClass(self)
----- using in objective-c
#pragma mark - AudioNoteViewModelControllerDelegate
@interface ObjectivecClass (MyClassDelegate) <AudioNoteViewModelControllerDelegate>
@end
@implementation ObjectivecClass (MyClassDelegate)
-(void) myClass:(MyClass *) myclass myFunction:(Parameter *) parameter {
}
@end
#pragma mark - AudioNoteViewModelControllerDataSource
@interface ObjectivecClass (MyClassDataSource) <AudioNoteViewModelControllerDataSource>
@end
@implementation ObjectivecClass (MyClassDataSource)
-(Data *) myClass:(MyClass *) myclass myFunction: (Parameter *) parameter {
}
@end
-- in ObjectivecClass interface
@property (nonatomic, strong) MyClass * myClass;
--- in ObjectivecClass implementation viewDidLoad
_myClass = [MyClass new];
_myClass.delegate = self;
_ _myClass.dataSource = self;
No comments:
Post a Comment