一个简单的代理,将可选方法重定向到代理 - 代码中更少的手动编写!
在调用可选代理时,常规模式是使用 respondsToSelector: 进行检查,然后实际调用该方法。这样做非常直接且易于理解
id<PSPDFResizableViewDelegate> delegate = self.delegate;
if ([delegate respondsToSelector:@selector(resizableViewDidBeginEditing:)]) {
[delegate resizableViewDidBeginEditing:self];
}
我们真正想要的类似于这样
[self.delegateProxy resizableViewDidBeginEditing:self];
在我的博客中了解更多: 智能代理委托
MIT 许可证。