我有A类被设置为B类的委托。它当前是如何工作的,A类的方法使用B类的实例来调用方法。在B的方法执行完毕后,它调用在A中实现的委托方法。
想要的是让A类的方法包含一个成功完成块,这样当B的方法执行完毕时,我可以从A类中的相同方法知道B的方法被成功执行。可以这样做吗?
答案 0 :(得分:0)
在A类中,将块存储为属性。在B类的委托方法(由A类实现)中,您可以通过属性调用该块。
@property (nonatomic, copy) void (^completion)(BOOL);
- (void)classAMethod:(void (^)(BOOL))completion {
self.completion = completion;
[classB method];
}
- (void)classBDelegateMethod:(BOOL)result {
if(self.completion) {
self.completion(result);
}
}