组件化

作者: 守护地中海的花 | 来源:发表于2022-08-31 12:39 被阅读0次

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

    创建

    创建工程

    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];
    

    模块通信

    相关文章

      网友评论

        本文标题:组件化

        本文链接:https://www.haomeiwen.com/subject/iohhmrtx.html