首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS设计模式架构
订阅
Ronda
更多收藏集
微信扫码分享
微信
新浪微博
QQ
25篇文章 · 0订阅
ResponderChain+Strategy+MVVM实现一个优雅的TableView
在iOS开发中,常见的MVC中,复杂界面的Controller中的代码极其臃肿,动则上千行的代码量对后期维护简直是一种灾难,因此MVC也被调侃为Messive ViewController,特别是有多种类型Cell的TableView存在时,在-tableView:cellFo…
AppDelegate解耦
作为iOS整个项目的核心App delegate,随着项目的逐渐变大,会变得越来越臃肿,一不小心代码就过了千行. 大型项目的App delegate体积会大到什么程度呢?我们可以参考下国外2亿多月活的Telegram的 App delegate.是不是吓一跳,4千多行.看到这样…
打造完备的 iOS 组件化方案:如何面向接口进行模块解耦?(二)
总结完使用接口进行模块解耦和依赖管理的方法,我们可以进一步对 router 进行扩展了。上面使用 makeDestination 创建模块是最基本的功能,使用 router 子类后,我们可以进行许多有用的功能扩展,这里给出一些示范。 编写 router 代码时,需要注册 rou…
iOS 组件化实战篇(私有库)
工程文件在使用的时候,使用pod update 就能加载最新版本组件代码. 2.podspec中描述,去哪(s.source)才能找到代码库,并且找到之后,需要拷贝哪些文件(s.source_files)到自己的工程中。 需要修改.podspec文件,打开资源的加载路径,然后执…
基于CocoaPods的组件化原理及私有库实践
智人能在残酷的进化大战中存活下来,原因之一就是智人懂得将知识沉淀成外物,辅助彼此之间的合作,从而使得整个群体产生了规模效应,即1+1>2的效果。 从一个角度上说,石器时代是基于石器的组件化的时代,因为老张家的石矛(或其它石头利器)借给了老王,一样可以拿去狩猎。要想实现这个目的,…
iOS的组件化思路分享
iOS的组件化,一直都是一个理念,很多大公司一直在强调却没有具体可行的或简单可行的方案。所以分享下大概思路。 继续集成:一个主工程(壳工程),包含所有的内容(整个项目),用于发包或打包测试。 基础组件: 不依赖其他任何组件,独立完成功能。主要有:*与业务无法的功能(如strin…
AppDelegate模块化瘦身
关于iOS的模块化,要追溯到16年接触的BeeHive了,BeeHive将功能模块化,以module的形式进行构建,以performSelector:的形式进行module的事件响应,以protocol的形式进行module间的通信。可以说思路非常清晰明了了。关于BeeHive…
iOS 组件通信方案
阅读本篇文章以前,假设你已经了解了组件化这个概念。 最近两年移动端的组件化特别火,但移动端组件化的概念追其溯源应该来自于Server端,具体来说这种概念应该是由Java的Spring框架带来的。 Spring最初是想替代笨重的EJB,在版本演进过程中又提供了诸如AOP、DI、I…
iOS 列表界面如何优雅实现模块化与动态化
去年做了一个小组件,前些时间考虑到项目中可能会大规模实施,完善简化后新开了一个 repo: YBHandyList 。 有些朋友抛出了 nimbus、IGListKit 等业界应用很广的库,前些时间网易工程师也推出了 M80TableViewComponent。理论上这些组件的…
打造完备的iOS组件化方案:如何面向接口进行模块解耦?
关于组件化的探讨已经有不少了,在之前的文章iOS VIPER架构实践(三):面向接口的路由设计中,综合比较了各种方案后,我倾向于使用面向接口的方式进行组件化。 这是一篇从代码层面讲解模块解耦的文章,会全方位地展示如何实践面向接口的思想,尽量全面地探讨在模块管理和解耦的过程中,需…