我有一个UIBarButtonItem
. 当它收到无法处理的消息时,我希望它将该消息转发到特定的视图控制器。
我想我也许可以使用条形按钮项的forwardingTargetForSelector:
方法来完成此操作,但显然在 type 的对象上找不到这样的属性UIBarButtonItem
。(术语点:这是否意味着forwardingTargetForSelector:
是私有属性?编辑:等等,我想我很困惑......最后带有冒号的方法不是属性......所以你可以公开一个方法(比如一个getter/setter)传递给哪些参数?)
这是否意味着为了设置 I 的值,forwardingTargetForSelector:
我必须在我要设置的对象的 .m 文件中进行设置?这意味着我必须继承我的 UIBarButtonItem?
如果是这样,为什么这不是 NSObjects 的公共属性?
此外,实现我的转发目标的最佳方法是什么,最好避免子类化?
附加信息:
这一切都源于我倾向于重复使用单个动作来响应按下相同按钮的各种实例。该操作当前包含在我的委托中(请参阅我应该如何实现在各种 VC 中使用的 [几乎] 相同的操作?(答案:使用类别))并且不同之处在于它应该向实例化的视图控制器发送 presentViewController 消息发送动作的按钮。因此,在操作中,我可以将 presentViewController 消息发送到sender
,这是按钮的一个实例,并且我希望能够将该消息转发到创建该按钮实例的视图控制器,如果我可以做到这一点在每个按钮在其各自的视图控制器中实例化后立即设置它的转发属性。
我希望避免“为什么”只是为了让问题更短,但是你去吧。