在Objective-c中,我如何创建一个所有子类都可以访问但不能公开访
发布时间:2020-12-16 09:40:51 所属栏目:百科 来源:网络整理
导读:假设我创建了一个viewController.然后我想创建另一个像第一个一样的viewController.看起来像是继承的工作. 但是,originalViewController的许多任务都是私有方法,我想最小化公共接口. 如果我公开宣布这些方法是公开的,那么私有事物保密的目的就不会实现. 如果
假设我创建了一个viewController.然后我想创建另一个像第一个一样的viewController.看起来像是继承的工作.
但是,originalViewController的许多任务都是私有方法,我想最小化公共接口. 如果我公开宣布这些方法是公开的,那么私有事物保密的目的就不会实现. 如果我将这些方法声明为private,那么子类不知道那些方法. 如果我为子类创建一个特殊的.h文件,那就太尴尬了. 那么,无论如何,做这种事情的行业标准方法是什么? 在C中我们会使用受保护的方法或函数来实现这一目标吗? 更新: 我放 #import "BGGoogleMap+protected.h" @implementation BGGoogleMap () @end 它不起作用.它要求标识符. 解决方法
除了Catfish_Man建议的内容之外,您还可以在类上创建只有您的子类可以访问的类别.
Here are the docs如何做到这一点.基本上,您只需为您的类创建一个新接口,并在其中放置任何私有方法.像这样:
@interface MyClass (MyClass_Private) // Method declarations @end 将它们放在Foo_Internal.h中,并在子类中包含Foo_Internal.h,但不要将它公开. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |