首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
架构
订阅
Rui4u君
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
深入分析MVC、MVP、MVVM、VIPER
看了下上篇博客的发表时间到这篇博客,竟然过了11个月,罪过,罪过。这一年时间也是够折腾的,年初离职跳槽到鹅厂,单独负责一个社区项目,忙的天昏地暗,忙的差不多了,转眼就到了7月。 七月流火,心也跟着燥热起来了,眼瞅着移动端这发展趋势从05年开始就一直在走下坡路了,想着再这么下去不…
抖音 iOS 工程架构演进
为了保障敏捷的业务开发,提升跨团队的协同合作效率,提高本地研发和 CI/CD 效率,抖音 iOS App 工程架构在不同的阶段进行了不同的技术方案的改进,满足合理的架构演化,同时又不影响正常的业务迭
监控所有的OC方法耗时
类似os_signpost,支持针对每个功能点监控性能问题。 支持显示调用堆栈。(维护stack frame) ,受益良多。我运用其中的hook objc_msgSend思想,写一个监控App里所有耗时的OC方法,以便以后开发过程中,能时刻监控App耗时性能问题。本文主要包含两…
《iOS面试题 - 老生常谈》之提示答案
通过把关键码值(key)映射到表中的一个位置来访问记录,Hash实现的关键是散列函数和冲突解决(链地址法和开放定址法)。 进程:是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 区别:线程被包含在进程之中,是进程中的实际运作单位。一条线程指的…
iOS性能优化之计算多行Label高度的新方法
在日常开发中,我们通常会使用boundingRect这个方法来计算UILabel的bounds,从而完成对界面的布局,但这个方法在大量调用时会比较耗时。本文将以搜狐汽车iOS团队在性能优化中积累的经验为依托,介绍一种新型计算UILabel的bounds的解决方案。
别找了 这就是适合入门的第一本算法书
数据存储于计算机的内存中。内存如右图所示,形似排成 1 列的箱子,1 个箱子里存储 1 个数据。 数据存储于内存时,决定了数据顺序和位置关系的便是“数据结构”。 举个简单的例子。假设我们有 1 个电话簿——虽说现在很多人都把电话号码存在手机里,但是这里我们考虑使用纸质电话簿的情…
iOS架构设计:揭秘MVC, MVP, MVVM以及VIPER
往下看,你将会找到这些问题的答案,如果还有疑问,请在评论区留言。 你将了解到在iOS环境下如何进行系统架构设计。我们将简单回顾一些流行的框架,并通过实践一些小例子来比较它们的理论。如果需要更多详细信息,请参考文章中出现的链接。 假如有一天,你在调试一个实现了几十种功能的庞大的类…
[译]过去一个月最 🔥 的 10 个 Swift 开源项目
在过去的一个月里,我们对近 200 个 Swift 开源项目进行排名,从中挑出最火的十个。 在此期间,我们对比了项目的新功能和主要版本。 Mybridge AI 根据各种因素对项目进行排名,以衡量项目的专业质量。 在 Github 上查看 Swift Top 10 开源项目。 …
Swift中的高阶函数: Filter, Map, Reduce, flatmap, compactMap(译)
我的理解是高阶函数的使用是基于集合类型的。 根据我的理解,高阶函数就是把另一个函数或者闭包当做参数并且返回值。 首先,我来解释一下。思考下面的代码将会使你对高阶函数的理解更深: addation(num1:num2:)、multiply(num1:num2:)都是(Double…