首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
复习
订阅
Destinyxxl
更多收藏集
微信扫码分享
微信
新浪微博
QQ
40篇文章 · 0订阅
iOS RunLoop详解
Runloop 是和线程紧密相关的一个基础组件,是很多线程有关功能的幕后功臣。尽管在平常使用中几乎不太会直接用到,理解 Runloop 有利于我们更加深入地理解 iOS 的多线程模型。 本文从如下几个方面理解RunLoop的相关知识点。 可见,一个RunLoop对象,主要包含了…
【译】Swift算法俱乐部-快速排序
目标:将数组从低到高(或从高到低)排序。 快速排序是历史上最着名的算法之一。 它是由Tony Hoare于1959年发明的,当时递归仍然是一个相当模糊的概念。 谈一谈工作原理。 给定一个数组时,quicksort()根据“基准”变量将它分成三部分。这里,基准被视为数组中间的元素…
iOS底层原理总结 - 探寻KVO本质
对小码哥底层班视频学习的总结与记录。面试题部分,通过对面试题的分析探索问题的本质内容。 首先需要了解KVO基本使用,KVO的全称 Key-Value Observing,俗称“键值监听”,可以用于监听某个对象属性值的改变。 上述代码中可以看出,在添加监听之后,age属性的值在发…
学习并理解 23 种设计模式
在《设计模式:可复用面向对象软件的基础》一书中所介绍的 23 种经典设计模式,不过设计模式并不仅仅只有这 23 种,随着软件开发行业的发展,越来越多的新模式不断诞生并得以应用。有经验的开发者在学习设计模式可以和过往的经验互相印证,更容易理解这些设计模式。 每个模式都有相应的对象…
[贝聊科技]一次立竿见影的首页渲染时间优化
大家好,我是 NewPan,我之前写过一篇 iOS一次立竿见影的启动时间优化 - 简书,从标题也可以看得出来,那篇文章是关于启动时间优化的,得到了大家不错的反响。这次我们来讲讲如何优化首页的渲染时间。 01. 贝聊首页页面介绍 贝聊这个首页已经把“排版,绘制,UI 对象操作”这…
Jenkins+Fastlane+自动化打包发布+蒲公英二维码展示
身为一名iOS开发人员,面临必不可少的一个阶段就是打包测试。虽然xcode可有实现打包,但在测试阶段面临测试人员不断的向你催促需要新的包进行测试就会很让人头疼,打包又是一个重复性极高又很费时间的事情。所以研究了一下jenkins和fastlane的自动打包流程,希望对大家有所帮…
iOS中load和initialize
这说明了。load方法,根本不需要我们自己调用,编译完成之后,就会调用。 也进一步验证了,前面查看源码分析的结论:合并分类的时候,其方法列表等,不会覆盖掉原来类中的方法,是共存的。 那么,答案就很清晰了。+load方法是根据方法地址直接调用,并不是经过objc_msgSend函…
iOS | 面试知识整理 - OC底层 (三)
1. 一个OC对象占用多少内存 2. 对象的isa指针指向哪里? 13. initialize方法如何调用,以及调用时机 13. load、initialize方法的区别什么?它们在category中的调用的顺序?以及出现继承时他们之间的调用过程? 14. Category能否…
iOS 内存管理
iOS 启动,会先在内存空间中开辟一块区域,然后将这块区域内部划分成如下部分。 图中与我们相关性较大的是栈区和堆区。栈区一般是存放方法栈。堆区存放开发者创建的对象。通常我们说的内存管理,就是指的堆中的内存管理。 iOS中采用引用计数的方式管理内存,每多一个强引用,引用计数就加一…
iOS 内存布局&内存管理方案
创建临时变量时由编译器自动分配,在不需要的时候自动清除的变量的存储区。 里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 那些由 new alloc 创建的对…