首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
面试
订阅
Only_
更多收藏集
微信扫码分享
微信
新浪微博
QQ
19篇文章 · 0订阅
iOS Tagged Pointer (源码阅读必备知识)
Tagged Pointer 介绍 苹果对于 Tagged Pointer 特点的介绍: Tagged Pointer 专门用来存储小的对象,例如 NSNumber 和 NSDate Tagged Pointer 指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个…
iOS RunLoop详解
Runloop 是和线程紧密相关的一个基础组件,是很多线程有关功能的幕后功臣。尽管在平常使用中几乎不太会直接用到,理解 Runloop 有利于我们更加深入地理解 iOS 的多线程模型。 本文从如下几个方面理解RunLoop的相关知识点。 可见,一个RunLoop对象,主要包含了…
《Objective-C 高级编程》干货三部曲(二):Blocks篇
这一章讲解了Block相关的知识。因为作者将Objective-C的代码转成了C++的代码,所以第一次看的时候非常吃力,我自己也不记得看了多少遍了。 这篇总结不仅仅只有这本书中的内容,还有一点在其他博客里看过的Block的相关知识,并加上了自己的理解,而且文章结构也和原书不太一…
iOS 高级面试题--答案
最近准备复习一下面试题,看到了J_Knight_在18年的出一套 iOS 高级面试题尝试着回答一下题目,由于水平有限,如有错误的地方,请大家多多指教。 1. 分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员? 3. 被weak修饰的对象在被…
iOS拾遗——为什么必须在主线程操作UI
究竟为什么一定要在主线程操作UI呢?如果在后台线程对UI进行操作会发生什么?在后台线程对UI进行操作不是可以更好的避免卡顿吗?这篇文章就是基于这样一些疑问而产生的。
iOS基于二进制重排的启动优化
在应用加载时候不会把所有数据放内存中,因为数据是懒加载,当进程访问虚拟地址时候,首先看页表,如果发现该页表数据为0,说明该页面数据未在物理地址上,这个时候系统会阻塞该进程,这个行为就叫做页中断(page Fault),也叫缺页异常,然后将磁盘中对应页面的数据加载到内存中,然后让…
iOS多线程:『GCD』详尽总结
什么是 『GCD』 ?我们先来看看百度百科的解释简单了解下相关概念。 程序员只需要告诉 GCD 想要执行什么任务,不需要编写任何线程管理代码。
iOS性能优化(内存分布与TaggedPointer)
iOS中的内存区域从低地址到高地址分别为 .text段(代码区)、.data段(已初始化的全局变量、静态变量)、.bss段(未初始化的全局变量、静态变量)、堆区、栈区。 这里说明一点:栈区从上往下走,堆区会从下往上走,当两个相遇的时候,则会发生堆栈溢出。 普通对象查找过程: 先…