iOS架构
文章平均质量分 89
加菲猫的小窝
这个作者很懒,什么都没留下…
展开
-
组件化-动态库实战
原文地址 ,此简书只做备份,强烈推荐原文,毕竟格式比简书好看,还清晰起因去年,链家网iOS端,之前由于所有的业务端代码都是混乱管理,造成开发有很多痛点无法单测 团队成员提交代码冲突机率大 CI配合效果差 功能性代码多端无法复用 单仓库代码量大 编译时间长 等等痛点,领导和组内多次沟通开始着手组件化开发,希望能改进这些开发中的痛点,成立组件化团队。组件化的方案大同小异,基础性代码封装私有库,业务组件交互交由中间件负责,项目依赖工具用 iOS项目事实上的标准 CocoaPods前期的基础性组件拆分转载 2021-01-18 15:04:27 · 727 阅读 · 0 评论 -
iOS 开发中的 Self-Manager 模式
2015年12月19日Self-Manager源于我们团队内部的黑话,“诶?你刚去的创业公司有几个 iOS 开发啊?” “就我一个” “靠,你这是 Self-Manager 啊”最近,这个思路被我们当做了一种设计模式,即赋予一个 Widget 更大的权利,让其自己负责自己的事件。举个简单的栗子,这种负责展示头像的视图:它的职责包括:通过传入的 URL,加载并展示头像图片 显示一些附属信息,比如大V的标志 将用户点击头像的事件传递给外层的 View Controller 跳转到用户信息页.转载 2021-01-18 14:18:25 · 229 阅读 · 0 评论 -
源码阅读中的收获
最近在做短视频相关的模块,于是在看 GPUImage 的源码。其实有一定了解的伙伴一定知道 GPUImage 是通过 addTarget 链条的形式添加每一个环节。在对于这样的设计赞叹之余,想到了实际开发场景下可以用到的场景,借此分享。我们的项目中应该有很多的聚合页,每个聚合页上都有 feed 流,而在很多的项目中 feed 流的场景都是可以进行复用的。而在这样的场景下我们希望复用的 feed 流中的 cell 可以在多个界面上进行复用。但是如果每一个 cell 上又有几个点击事件,如果每一个 Co.转载 2021-01-18 14:08:33 · 254 阅读 · 0 评论 -
iOS项目的瘦身与加快编译速度
随着开发的不断进行,我们的项目总会变得越来越大,而过大的占用用户的内存空间会对用户的留存造成一定的影响,所以我们总是需要找到方案来减小我们的包大小。在我们努力的同时苹果也在为此努力着,下文的第一部分主要介绍的就是官方文档和个人经验总结出的一些关于包瘦身的方案。此外项目变大后,我们在开发时每次启动程序的编译时间都会变长,这对于开发者而言是效率极低的一件事,文章的第二部分主要介绍如何在编译速度的角度去优化程序。项目瘦身 切面(Slicing) 这一功能是苹果在 iOS 9 、watchOS 2 、转载 2021-01-15 16:36:36 · 431 阅读 · 0 评论 -
浅谈设计模式在iOS开发实战项目中的应用
在我们日常的开发中设计模式伴随着项目的各个模块,巧妙地使用设计模式可以让我们写出更高效,简洁,优美的代码。可是因为对于设计模式的不熟悉,很多高效的设计模式并没有被很好地使用起来,而最近也正好在review同事和自己曾经写的一些代码,然后在优化的过程中谈一下我们在项目中使用设计模式做出的一些优化。当然只是个人看法,有任何的不足欢迎拍砖,大家一起探讨和成长。1.在项目中使用delegate pattern(代理模式)和block的抉择之前在技术交流群中看到技术大神在争论block和delegate使用哪转载 2021-01-15 16:07:39 · 252 阅读 · 0 评论 -
浅谈构建iOS一个动态化页面的思路
随着产品的不断迭代,功能的不断完善,我们的项目的中会给用户分成区域呈现出越来越多的东西。咕咚的精选给用户一种信息广场的概念,让用户可以快速的抵达我们感兴趣的点。既然如此,那么每一个项目的综合信息的页面经常会被改动。出现位置的调整,出现新的模块的增加,出现模块的删减等等。那么我们就一定要思考我们该如何构建我们这一部分的代码,在一次次的更改后可以用最短的时间完成产品的需求。最大限度的提高我们的工作效率。下面我们通过咕咚的精选页面来思考一下具体的实现思路我们看到这个图片的时候先思考一个问题,这么多个.转载 2021-01-15 15:51:15 · 403 阅读 · 0 评论