您是否知道现有的 Cocoa 代理或转发器类,可以让我在每次我想在其他对象上调用可选方法时检查respondsToSelector:检查?
不要这样写:
if ([delegate respondsToSelector:@selector(treeController:canCreateGroupInParent:)])
{
[delegate treeController:treeController canCreateGroupInParent:inGroup];
}
我想写这个:
[[delgate safeForwarder] treeController:treeController canCreateGroupInParent:inGroup];
如果 safeForwarder 实现了请求的方法,则它应该捕获调用并重定向到它的目标。
任何人都知道执行此操作的现有组件。不想重新发明轮子。
谢谢, 伊利亚
最佳答案
查看彼得·斯坦伯格 PSTDelegateProxy 。这里是blog post关于它。
关于objective-c - 是否有一个 Cocoa 代理类可以让我免于 "respondsToSelector:"-check ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21185340/