首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
东厂胡一刀
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
iOS App启动优化(一)—— 了解App的启动流程
首先,我们先来区分两个启动的概念。 App点击启动前,此时App的进程还不在系统里。 需要系统新创建一个进程分配给App。(这是一次完整的App启动过程) App在冷启动后用户将App退回后台,此时App的进程还在系统里。 用户重新返回App的过程。(热启动做的事较少) 冷启动…
ios 堆、栈,全局区 入门理解
栈:编译器自动分配和释放,存放函数参数值,局部变量,(swift结构体,栈block)等。 堆:程序员画管理释放。分配方式倒是类似于链表。就是通过new、malloc、realloc分配的内存块,编译器不会负责它们的释放工作,需要用程序区释放。分配方式类似于数据结构中的链表。在…
老背题却记不住TCP为什么三次握手?
今天肥朝和大家唠唠老生常谈的一个问题,TCP为什么要三次握手。为什么会突然想起这个话题呢? 按照肥朝以往的风格,网上一搜就一大把的文章,肥朝一般都是不愿意去提及的。其实每个技术人都或多或少萌生过写博客的想法,但是后面发现想写的内容网上似乎都有,最后就断了这个念头。 因此,肥朝的…
组件化之路—集成组件SDK
组件化的前提是要有基础组件、功能组件、业务组件这三大块。其中基础组件和功能组件都可以做成SDK,可以供其他APP选择性的调用。 比如把地图组件单独封装成一个SDK,需要使用地图就加载这个SDK,不需要使用的就不加载。对于全部封装成一个公共库的做法,这样既能实现解耦,又可以减少包…
Swift实现常用排序算法总结
排序算法,是一种能将一串数据按照特定的排序方式进行排列的一种算法,一个排序算法的好坏,主要从时间复杂度,空间复杂度,稳定性来衡量。 时间复杂度是一个函数,它描述了该算法的运行时间,考察的是当输入值大小趋近无穷时的情况。数学和计算机科学中使用这个大 O 符号用来标记不同”阶“的无…
iOS设计模式详解
使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。 讲到设计模式,必然要提设计原则,同样为了实现代码复用,要遵循软件设计原则。设计模式就是实现了这些原则,达到了代码的复…
用代码探讨 KVC/KVO 的实现原理
关于KVC/KVO的实现原理,网上的相关介绍文章很多,但大部分说的比较抽象,难以真切的理解,下面我们直接撸代码来实地探讨下。 ①->⑨全部执行成功; 其中①③④⑥ 执行了setter方法,⑦⑧执行了getter方法,②⑤⑨直接访问的实例变量。 1.访问器匹配:先寻找与key,i…
iOS VIPER架构实践(一):从MVC到MVVM到VIPER
最近半年在写app的时候,研究了一下各种iOS代码架构,最后选择了VIPER进行实践,在此对实践中遇到的各种设计问题做一番总结,并分享造出的轮子。 对代码风格和架构有兴趣的同学,肯定都已经在很多地方见过各种架构的介绍。MVC、MVP、MVVM、VIPER,细分程度逐渐上升。这些…