上一节介绍了基于同一工作空间框架实现的WFSSS模式,本节介绍一下WFOOO模式。WFOOO模式的实现过程与WFSSS模式基本一样,只是WFOOO模式下需要将数据持久层和业务逻辑层的头文件设置为Public。 10.7.1 设置Public头文件 创建好3个工程PresentationLayer、BusinessLogicLayer和PersistenceLayer,PresentationLayer是应用程序工程,而BusinessLogicLayer和PersistenceLayer都是框架工程,我们需要设置框架工程头文件为Public,具体步骤是:参考图10-17所示,使用鼠标将所有头文件从Project栏拖曳至Public栏中。 10.7.2 建立表示层与业务逻辑层的依赖关系 由于表示层用Swift实现,业务逻辑层用Objective-C实现,所以Swift调用Objective-C时需要添加桥接头文件PresentationLayer-Bridging-Header.h,该文件的内容如下: #import <BusinessLogicLayer/NoteBL.h> #import <PersistenceLayer/Note.h> #import <PersistenceLayer/NoteDAO.h> 具体的配置过程可以参考10.4.3节。 10.7.3 代码重构 为了适应在工作空间中使用框架,我们需要将10.4.3节的代码进行重构,重构的内容主要是修改引入头文件的方式。 修改业务逻辑层BusinessLogicLayer引入头文件的方式,相关代码如下: #import <Foundation/Foundation.h> #import <PersistenceLayer/NoteDAO.h> ① #import <PersistenceLayer/Note.h> ② @interface NoteBL : NSObject //插入备忘录的方法 -(NSMutableArray*) createNote:(Note*)model; //删除备忘录的方法 -(NSMutableArray*) remove:(Note*)model; //查询所有数据的方法 -(NSMutableArray*) findAll; @end 其中第①行和第②行代码用于引入数据持久层中的头文件,用来替代如下代码,其中PersistenceLayer是框架名: #import "Note.h" #import "NoteDAO.h" 修改表示层PresentationLayer引入头文件的方式,相关代码如下: #import <BusinessLogicLayer/NoteBL.h> #import <PersistenceLayer/Note.h> 设置完成后,就可以编译并运行工作空间了。