从之前所学可知使用静态链接库比较麻烦,需要给使用者提供.a和.h文件,还要配置很多环境变量。基于同一工作空间框架实现的分层可以有WFSSS、WFOOO、WFSOO和WFOSS模式,接下来南昌网站制作公司先给大家介绍WFSSS模式。
1.创建框架工程
首先,创建一个工作空间,然后添加表示层工程到工作空间,接着创建数据持久层和业务逻辑层的框架工程,具体创建过程如下:在Xcode中选择菜单项File→New→ Project…,在打开的对话框中选择Framework& Library→Cocoa Touch Framework工程模板,如图1所示。
图1 创建框架工程
如果我们是在工作空间中创建工程,创建过程中要选择工作空间。如图2所示,在Add to和Group中都选择MyNotesWorkspace,然后点击Create按钮创建工程。
图2 选择工作空间
2.依赖关系建立
三个工程的依赖是:BusinessLogicLayer依赖于PersistenceLayer,PresentationLayer依赖于BusinessLogicLayer。BusinessLogicLayer和PersistenceLayer都是框架工程,我们需要设置BusinessLogicLayer依赖于PersistenceLayer,相对来讲要比静态链接库建立依赖关系要简单得多。
首先,选择TARGETS→BusinessLogicLayer→Build Phases→Link Binary With Libraries,如图3所示,选择左下角的+按钮,然后从弹出界面中选择PersistenceLayer.framework,再点击Add按钮,这样依赖关系就添加好了。
图3 添加依赖关系
参考上面的步骤设置PresentationLayer和BusinessLogicLayer的依赖关系。另外,框架工程还需要设置PresentationLayer和PersistenceLayer的依赖关系,最后结果如图4所示。
图4 添加完依赖关系
提示:表示层工程依赖于框架工程时,需要设置业务逻辑层和数据持久层两个依赖关系。而在静态链接库工程时,表示层工程只需要与业务逻辑层建立依赖关系即可,这是因为业务逻辑层静态链接库文件(libBusinessLogicLayer.a)内部已经包含了数据持久层相关类了。
3.代码重构
为了适应于在工作空间中使用框架,我们需要将10.4.1节的代码进行重构,这主要是修改访问类、方法和属性的访问限定级别。
1. 重构Note.swift
Note类的代码如下:
我们需要为Node类添加public访问限定修饰符,还需要在属性date和content中添加public访问限定修饰符。构造器init也应该是public的。
2. 重构NoteDAO.swift
NoteClass类的代码如下:
上述代码中,第①行的listData属性的访问限定级别是默认,而不是public的。类和方法的访问限定级别是public。
3. 重构NoteBL
NoteBL类的代码如下:
上述代码中,第①行用于引入PersistenceLayer(数据持久层)模块。如果不引入该模块,则在PersistenceLayer框架中找不到Note类和NoteDAO类,而且这两个类还应该是public的。第②行代码用于声明默认构造器init的访问限定级别是public。
此外,在表示层PresentationLayer,也需要修改代码import代码:
import BusinessLogicLayer
import PersistenceLayer
想了解更多关于这方面的知识的朋友,随时欢迎您来电和我们联系,本公司专注于南昌APP开发,具有十多年的丰富经验,如有需要,百恒随时为您服务!