UIBarButtonItem nextResponder调用

时间:2013-07-23 15:57:23

标签: ios uibarbuttonitem

在网上查看(https://github.com/Musixmatchdev/ObjectiveHeaders/blob/master/Headers/iPhoneOS6.0.sdk/UIKit/UIBarButtonItem.h)我发现UIBarButtonItem已实现 nextResponder 选择器。

然而,这不是UIBarButtonItem的公共API的一部分,但它在UIResponder类中(遗憾的是UIBarButtonItem不继承)。

我是否有权使用它,还是被苹果拒绝? (我本来会问苹果论坛,但我会相信它会停止一段时间:)。

非常感谢,

Jack Pardshe

2 个答案:

答案 0 :(得分:0)

可悲的是,UIBarButtonItem基于残缺的UIBarItem,它们都没有实现nextResponder方法。因此,它被视为私有(非公开)API,并且根据Apple App Store review guideline第2.5页,“使用非公共API的应用将被拒绝”。

注意:Apple Developer门户网站现已关闭,但可以轻松找到网上指南

P.S。请描述使用UIBarButtonItem的nextResponder的原因 - 我确信有多种方法可以实现它。

答案 1 :(得分:0)

好的,我找到了针对我的具体问题的解决方案:

我将调用转发到[[UIApplication sharedApplication] sendAction:to:from:forEvent:]]选择器,然后(使用from参数)使用UIBarButtonItem nextResponder。所以这是使用公共API的间接引用。

但是我认为Apple只是在这个方法的id参数上使用了responsedsToSelector:@selector(nextResponder)。因此,在自定义代码中执行相同的操作(编写一个接受id参数然后在其上调用nextResponder的方法)也可能是使用nextResponder选择器而不被视为使用私有API的解决方案,但这只是一个假设。 / p>