欢迎来到酷云建站平台,全网营销云系统加盟中心!

海量企业网站模板 · 任您选择

美出特色,精出品质,一切为了企业更好的营销

隐藏侧栏
Beta
转载

iOS开发之基于同一工作空间静态链接库实现的WLSOO模式

       APP开发     2021-12-16     admin     18     0    

基于同一工作空间静态链接库实现的分层可以有WLOOO和WLSOO模式,徐州APP开发公司小编简要介绍一下WLSOO模式。

1.使用工作空间

工作空间是多个工程的集合,我们可以把3个不同的层放置在不同的工程中,然后再把这3个工程放置到一个工作空间中。打开本节案例代码MyNotesWorkspace文件夹,再打开MyNotesWorkspace.xcworkspace文件,(.xcworkspace文件是工作空间文件),如图1所示。

1Xcode工作空间

图1Xcode工作空间

它们之间的依赖关系是:BusinessLogicLayer依赖于PersistenceLayer,PresentationLayer依赖于BusinessLogicLayer和PersistenceLayer,因此创建顺序应该是PresentationLayer→BusinessLogicLayer→PersistenceLayer。

2.添加数据持久层工程

数据持久层工程PersistenceLayer是静态链接库工程。找到本书提供的PersistenceLayer(位于MyNotesWorkspace的 PersistenceLayer目录下),添加静态链接库的过程是:在Xcode导航面板的右键菜单中选择Add Fileto“MyNotesWorkspace”...,接着在弹出的对话框中选择PersistenceLayer.xcodeproj文件,然后就可以将工程添加到工作空间了。

静态链接库提供给使用者的文件是.a文件和.h文件,前者是编译之后的静态链接库文件,后者是要调用对象的头文件。

.h文件在编译时会复制到产品发布目录下,具体设置如下:打开PersistenceLayer工程,选择TARGETS→PersistenceLayer→Build Phases,然后再选择Editor→Add Build Phase→Add Headers Build Phase菜单项即可。此时会打开复制头文件窗口,选择图2中的+按钮,从弹出界面中选择要复制的头文件,再点击Add按钮即可添加。

接着用鼠标将复制的头文件从Project栏拖曳至Public栏中,如图3所示。Public栏中.h文件可以被其他工程访问,在应用编译的时候可以复制到产品发布目录。

选择要复制的头文件

图2选择要复制的头文件

拖曳复制的头文件到Public栏中

图3拖曳复制的头文件到Public栏中

3.建立业务逻辑层与数据持久层的依赖关系

BusinessLogicLayer工程也是静态链接工程,其创建过程和复制头文件等设定都与PersistenceLayer工程类似,不同的是 BusinessLogicLayer 依赖于PersistenceLayer 。打开 BusinessLogicLayer 工程,选择 TARGETS→BusinessLogicLayer→Build Phases→Link Binary With Libraries,如图4所示,点击左下角的+按钮,然后从弹出界面中选择libPersistenceLayer.a,再点击Add按钮,这样依赖关系就添加好了。

添加依赖关系

图4添加依赖关系

此外,还要添加头文件搜索设置,南昌APP开发公司的具体操作方法是:打开BusinessLogicLayer工程,选择TARGETS→BusinessLogicLayer→Build Settings→Search Paths→User Header Search Paths,如图5所示,在弹出的对话框中,添加$(BUILT_PRODUCTS_DIR),并选择recursive,其中$(BUILT_PRODUCTS_DIR)是宏,表示产品发布目录,recursive表示递归添加目录路径。

添加头文件搜索设置

图5添加头文件搜索设置

设置完成后,可以编译一下BusinessLogicLayer工程,具体步骤是,如图6所示,选择运行的模拟器,然后通过快捷键command+B,或通过Product→Build菜单项进行编译。

编译静态链接库工程

图6编译静态链接库工程

4.建立表示层与业务逻辑层的依赖关系

PresentationLayer不是静态链接工程,需要与BusinessLogicLayer和PersistenceLayer建立依赖关系,具体的操作方法可参考BusinessLogicLayer工程。添加头文件搜索设置的具体方法,也可以参考BusinessLogicLayer工程。完成后的工作空间如图1所示。

由于表示层用Swift实现,业务逻辑层用Objective-C实现,所以Swift调用Objective-C时,需要添加桥接头文件Presentation- Layer-Bridging-Header.h,该文件的内容如下:

#import 'Note.h'

#import 'NoteDAO.h'

#import 'NoteBL.h'

注意:如果BusinessLogicLayer和PersistenceLayer工程中有内容要修改,因为不会自动编译,需要先选择菜单项Product→Clean清除一下再编译。但是,有时候会报出找不到一些头文件的编译错误,这种情况下请多次执行清除操作再编译。


--结束END--

本文链接: http://www.83703228.cn/appkf/2383.html (转载时请注明来源链接)

 
本文标签: 全部

下班PC阅读不方便?

手机也可以随时学习开发

微信关注公众号“酷云”
"酷云平台前端开发教学"
每日干货技术分享
 

×

成为 酷云平台 代理商!

关注

微信
关注

微信扫一扫
获取最新优惠信息

酷云平台公众号

客服

联系
客服

很高兴为您服务
尊敬的用户,欢迎您咨询,我们为新用户准备了优惠好礼。 咨询客服

联系客服:

在线QQ: 3206174

客服电话: 0516-83703228

售前咨询 售后服务
在线交谈 智能小云

工作时间:

周一至周五: 09:00 - 17:00

WAP

手机
访问

移动端访问
手机上也能选模板

酷云平台手机端