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

时间:2013-09-06 07:18:13

标签: ios api design-patterns

我编写了一个DataAdapter库,它与核心数据库具有依赖关系(紧密耦合)(coredata库有助于存储,管理数据库中的数据),因此我在DataAdapter类中创建了API,扩展了核心数据类。快速访问核心数据类的所有API。

但是,由于我在我的DataAdapter类中扩展了核心数据类,因此开发人员可以通过DataAdapter类看到核心数据类中的所有API(我不想发生这种情况,基本上希望他使用适配器API)仅限方法。)

例如:核心数据的API为

  
      
  • (CoreDataResponse *)getAllManagedObjectsOfEntity:(CoreDataRequest *)request;
  •   

DataAdapter的API为“

  

- (DBResponse *)getAllStoredRecordsFromDB;

确切的问题是,适配器方法的Xcode自动提示显示核心数据API'以及下面 - 但我希望我的开发人员使用数据适配器只访问DataAdapter的API方法,我该如何实现它? enter image description here

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

#import "CoreDataManager.h"

@interface DataAdapter : CoreDataManager
-(DBResponse *)getAllStoredRecordsFromDB;
@end

1 个答案:

答案 0 :(得分:0)

在//DataAdapter.m

#import <CoreData/CoreData.h>

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

@implementation DataAdapter

@end