首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
yakeracles
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
70
文章 70
沸点 0
赞
70
返回
|
搜索文章
赞
文章( 70 )
沸点( 0 )
分析Category、load、initialize的加载原理
3.load、initialize有什么区别,以及它们在category重写时的调用顺序。 要回答这些问题,我们需要去查看runtime里的类的初始化方法,打开runtime源码,找到_objc_init,这就是runtime初始化的地方。 1.点击进去map_images我们…
TCP的三次握手和四次挥手
URG 紧急指针是否有效。为1,表示某一位需要被优先处理 ACK 确认号是否有效,一般置为1。 PSH 提示接收端应用程序立即从TCP缓冲区把数据读走。 RST 对方要求重新建立连接,复位。 SYN 请求建立连接,并在其序列号的字段进行序列号的初始值设定。建立连接,设置为1 F…
Runloop底层原理
runLoop是一个接收处理异步消息事件的循环,一个循环中:等待事件发生,然后将这个事件送到能处理它的地方.从源码也可以看出,本质上是一个do-while循环。 我们知道程序是从main函数开始运行的,入下所示。如果直接return 0运行会发现程序打开一瞬间就结束了,而UIA…
iOS概念攻坚之路(七):block
block 的定义:带有自动变量(局部变量) 的 匿名函数。 主要是弄清楚「带有」、「自动变量」和「匿名函数」是什么,我们就能知道 block 大概是个什么东西了。 主要意思是自动变量的生命周期由系统控制,当自动变量超过其作用域,会被系统自动释放。在 iOS 说自动变量,可以当…
适配iPhone XR/iPhone XS Max
代码中使用了屏幕size判断是否是iPhone X的需要修改,请翻到最后。 项目中使用LaunchImage来做启动图,那么有可能在XCode GM的LaunchImage中会出现只有iPhone X/iPhone XS启动图,并且iOS 8.0 and Later 没有被选中…
iOS概念攻坚之路(三):内存管理
iOS 的内存管理不止是 「引用计数表」。 iOS 开发者基本都知道 iOS 是通过「引用计数」来管理内存的,但是也许并不知道 iOS 其他的内存管理方式,比如 「Tagged Pointer」(带标记的指针),比如 「NONPOINTER_ISA」(非指针型 isa),这个要…
iOS事件传递和响应机制
一部iOS设备会产生各种各样的事件(UIEvent 实例)比如:触摸屏幕、远程控制等,这些事件发生了就需要有响应者(UIResponder 实例)去响应这些事件。这就需要一套事件响应机制。 查看UIEventType的定义,我们知道有4种事件类型。 其中UIEventTypeT…
Category必知必会
Category(分类或类别)是Objective-C的基础概念,也是面试必考点之一,我尝试用简单的语言解释一下什么是Category。 利用Category,即使在无法获取一个类的源码的情况下,我们也可以为一个类增加新的方法、属性,遵从新的protocol。OC的Catego…
为什么Objective-C的消息转发要设计三个阶段?
下面我们就通过详细解读每个阶段来回答开篇提出的问题。 有些情况下,你希望能够为一个方法动态地提供实现。例如,Objective-C中可以将一个属性声明为@dynamic 这样你就告诉编译器,与这个属性相关联的setter和getter方法会被动态添加。编译器就不会自动为你创建s…
下一页
关注了
7
关注者
0
收藏集
1
关注标签
46
加入于
2019-01-16