您是否了解现有的Cocoa代理或转发器类,这使我无法使用respondsToSelector:每次我想在其他对象上调用可选方法时进行检查?
而不是写这个:
if ([delegate respondsToSelector:@selector(treeController:canCreateGroupInParent:)])
{
[delegate treeController:treeController canCreateGroupInParent:inGroup];
}
我想写这个:
[[delgate safeForwarder] treeController:treeController canCreateGroupInParent:inGroup];
safeForwarder应该捕获调用并重定向到它的目标,如果它实现了所请求的方法。
任何人都知道这样做的现有组件。不想重新发明轮子。
谢谢, ILJA