iOS架构-组件化(项目框架搭建)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wtdask/article/details/84993187

组件化设计方案

  • 方案1.静态库方式 + Carthage方式
  • 方案2.第三方管理工具CocoaPods方式、Carthage方式

组件化设计应用

1、项目开发需求:业务分层

四层(示例项目分四层,很多主流项目也是这么分层的)
网络层:NetworkLayer(组件一)-> 静态库->.a文件
业务层:BusinessLayer(组件二)-> 静态库->.a文件
数据层:DataLayer(组件三)-> 静态库->.a文件
工具库:Utils(组件四)-> 静态库->.a文件

注意:每一个组件都是独立存在

2、项目开发 :问题

问题1、层与层之间的关系?

问题2、主程序如何引用静态库?

问题3、静态库引用静态库?

问题4、静态库如何引用pods第三方库?

问题5、各层之间为什么要通过组件化方式设计?

问题6、为什么要使用静态库的方式来做?

3、项目开发 :实战

项目分层

3.1 整个项目架构设计

  • 网络基础库结构
  • 网络层和业务层
  • 业务层分层结构
  • UI展示层结构
  • UI展示层和业务层

在这里插入图片描述

3.2 项目实战案例演示

新建主程序WTVideo项目

新建静态库(组件)

1、网络层:NetworkLayer(组件一)-> 静态库->.a文件
2、业务层:BusinessLayer(组件二)-> 静态库->.a文件
3、数据层:DataLayer(组件三)-> 静态库->.a文件
4、工具库:Utils(组件四)-> 静态库->.a文件

首先创建Cocoa Touch Static Library静态库

在这里插入图片描述

在这里插入图片描述

静态库放在哪里?

解决:
组件单独分组(单独文件夹存放)-> 大文件夹 -> 根目录:Dependencies
UI处理单独分组(单独文件夹存放)-> 大文件夹 ->根目录:UI
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后按照一样的方式创建业务层BusinessLayer、数据层DataLayer、工具类Utils

在这里插入图片描述

以上,解决问题1、层与层之间的关系?的问题。

那么接下来解决问题2、主程序如何引用静态库?

主程序引入静态库

主程序中如何引用上面我们创建的4个组件呢?

  1. 引入静态库到项目中
    在这里插入图片描述

在这里插入图片描述

注意:如果一导入静态库程序报错,因为静态库的处于打开状态,关闭即可(关闭clean一下,同时关闭项目重新打开即可解决)

  1. 配置静态库

2.1、添加依赖(仅仅是把静态库导入进来了,但是还没添加)
在这里插入图片描述

2.2、链接静态库

在这里插入图片描述

注意:第三方库引用(链接)时,哪些需要?哪些不需要?
主程序依赖:UI层(需要),UI之外的不需要

  1. 配置Setting->头文件(Header)

在这里插入图片描述

测试

在这里插入图片描述

展开阅读全文

没有更多推荐了,返回首页