加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在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,但不要将它公开.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读