【发布时间】:2016-05-19 12:59:38
【问题描述】:
当使用Objective-C 时,这是使用VIPER 架构模式时将对象从DataManager 传递到Interactor 的首选方法。
特别是使用Block Based Callbacks 与DataManager Output Protocol
Sample To Do App 来自 Original Mutual Mobile article on VIPER
像这样使用Block Based Callbacks
- (void)todoItemsBetweenStartDate:(NSDate *)startDate endDate:(NSDate *)endDate completionBlock:(void (^)(NSArray *todoItems))completionBlock;
而 this approach 来自 Brigade Engineering
在DataManager 上使用OutputProtocol
[self.interactor foundUser:user];
哪种方法更好,为什么?
注意:我知道在使用 Swift 时,闭包可以使回调方法更加简洁。这个问题直接参考了Objective-C。
【问题讨论】:
标签: ios objective-c architecture viper-architecture