首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
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…