如何隐藏扩展类的公共 API 方法?

问题描述 投票:0回答:1

我编写了一个 DataAdapter 库,它与核心数据库有依赖关系(紧密耦合)(核心数据库有助于存储、管理数据库中的数据),因此我在

DataAdapter
类中创建 API,扩展核心数据类以具有快速访问核心数据类的所有 API。

但是,由于我在

DataAdapter
类中扩展了核心数据类,核心数据类中的所有 API 都可以通过
DataAdapter
类对开发人员可见(我不希望发生这种情况,基本上希望他使用仅限适配器 API 方法。)

例如:核心数据的 API 为:

  • (CoreDataResponse *)getAllManagedObjectsOfEntity:(CoreDataRequest *)请求;

DataAdapter 有一个 API:

-(DBResponse *)getAllStoredRecordsFromDB;

确切的问题是,适配器方法的 Xcode 自动建议显示核心数据 API 以及下面的内容 - 但我希望我的开发人员使用数据适配器仅访问 DataAdapter 的 API 方法,我怎样才能实现它?

enter image description here

更新-1:这是我用 coredata 扩展的 Adapter 标头类

#import "CoreDataManager.h"

@interface DataAdapter : CoreDataManager
-(DBResponse *)getAllStoredRecordsFromDB;
@end
ios objective-c design-patterns
1个回答
0
投票

在 //DataAdapter.m 中

#import <CoreData/CoreData.h>

@interface DataAdapter()
@property (strong, nonatomic) CoreDataAdapter *adapter;
@end

@implementation DataAdapter

@end
© www.soinside.com 2019 - 2024. All rights reserved.