组件化

近期面试组件化问题尤其多,安排

创建

创建工程

cd 到一个空的文件夹中 执行下面命令 就会创建一个模版工程

pod lib create basicModule
image.png
image.png

写代码 (拷贝代码到指定文件)

Classes 中添加 代码

image.png

pod install

Example 中安装

image.png

私有库之间的依赖

新建 commonModule 依赖 三方 和 上面的 basicModule 需要如下处理

  • commonModule.podspec


    image.png
s.dependency 'AFNetworking'
  s.dependency 'Masonry'
  s.dependency 'basicModule'

  s.prefix_header_contents = '#import "Masonry.h"','#import "UIKit+AFNetworking.h"','#import "LGMacros.h"'
  • pofile 添加索引搜索


    image.png
pod 'basicModule', :path => '../../basicModule'
  • 继续pod install 然后编译项目

添加资源

commonModule.podspec 修改


image.png

添加资源


image.png

然后 pod install
如果继续添加资源 json
修改 spec

只是图片
 s.resource_bundles = {
     'commonModule' => ['commonModule/Assets/*.png']
   }
多资源
 s.resource_bundles = {
     'commonModule' => ['commonModule/Assets/*']
   }

小补充

在Module

  • Images.xcassets 生成 .car
  • 直接放在项目中 放图片 会生成 bundle
    1311654265978_.pic.jpg

获取资源

NSString *bundlePath = [[NSBundle bundleForClass:[self class]].resourcePath stringByAppendingPathComponent:@"/commonModule.bundle"];
    NSBundle *resoure_bundle = [NSBundle bundleWithPath:bundlePath];

模块通信

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在组件化前期的工作中,我们会面临如何管理图片、音视频等资源的问题。我们需要关注的问题是如何将相应的资源和组件一起打...
    ty_Chen阅读 2,360评论 0 2
  • 起因 理论功底 动态库和静态库 介绍 静态库和动态库的区别 举个例子, iOS 项目中使用 Embeded Fra...
    leverkusen188阅读 1,112评论 0 3
  • CocoaChina[http://www.cocoachina.com/articles/19136] 博客地...
    林鹏_dev阅读 822评论 0 1
  • 组件化初探 组件化其实就是将模块单独抽离、分层,并指定模块间的通讯方式,从而实现解耦的一种方式,主要运用与团队开发...
    浅墨入画阅读 717评论 0 1
  • iOS之武功秘籍 文章汇总[https://www.jianshu.com/p/07991e5b1c30] 写在前...
    長茳阅读 2,728评论 4 30

友情链接更多精彩内容