0

在 base.h 中实现了一个委托函数

id<MADayViewDataSource> _dataSource;

@protocol MADayViewDataSource <NSObject>

- (NSArray *)dayView:(MADayView *)dayView eventsForDate:(NSDate *)date;
@end

在 base.m

- (void)setDataSource:(id <MADayViewDataSource>)dataSource {
    _dataSource = dataSource;
    [self reloadData];
}

- (id <MADayViewDataSource>)dataSource {
    return _dataSource;
}

- (void)reloadData {
    NSArray *events = [self.dataSource dayView:self eventsForDate:self.day];
}

在顶部 Viewcontroller.h 它实现了来自 base.h 的 MADayViewDatasource 委托

      :UIViewController<MADayViewDataSource> { }

在 base.m 中,它实现了委托函数

- (NSArray *)dayView:(MADayView *)dayView eventsForDate:(NSDate *)startDate {

所以,我对代码的理解是什么时候调用base.m里面的函数

[self.datasource dayView:self eventsForDate:self.day]; 

self.datasource无论如何都会调用返回_datasource -(void)setDataSource <MADayViewDataSource>)dataSource {}..等等,我迷路了..

我的问题是调用的功能序列是什么?来自 base 的数据源与从顶层视图控制器的委托函数返回的数组有何关系?

4

0 回答 0