前言 我第一次开始重视Objective-C Runtime是从2014年11月1日,@唐巧老师在微博上发的一条微博开始。 这是sunnyxx在线下的一次分享会。会上还给了4...
前言 我第一次开始重视Objective-C Runtime是从2014年11月1日,@唐巧老师在微博上发的一条微博开始。 这是sunnyxx在线下的一次分享会。会上还给了4...
类扩展和分类 category:类别、分类用来给类增加方法、属性、协议不能增加成员变量,在分类的结构体中并没有存储成员变量的数据结构需要注意的如果是增加属性的话,只会增加属性...
TCP有主要有两个特点: 面向连接:需要客户端和服务器在发送数据之前有连接 可靠传输:客户端与服务器之间发送的数据是可靠的(无损坏,按顺序) 下面总结一下TCP的一些知识点:...
2019 iOS面试题大全---全方面剖析面试 2019 iOS面试题-----网络相关之HTTP协议 2019 iOS面试题-----网络相关之HTTPS、对称加密、非对称...
原文地址:2018 iOS 面试题大全由于原作者并没有继续更新,这里我转过来继续更新下 整理的一些iOS面试相关问题,持续更新,敬请关注 2018 iOS面试题大全---全方...
一句话总结: HTTP以明文方式发送内容,不验证服务器身份,不提供数据加密 HTTPS在HTTP基础上加了SSL协议,验证服务器身份,加密传输的数据 下面具体总结一下HTTP...
今天一大早,一位同事就被离职了。 早会也不让她参加,因为原计划她下午会去赶飞机,所以中午她想在办公室休息一下,结果直接让她走了。 这位同事被离职主要是因为有人到大老板那里投诉...
OC 常用的多线程实现方法有: NSThread GCD NSOperation 下面逐一总结一下。 NSThread NSThread是官方提供的,面向对象的创建多线程的方...
上一节中,我们学习了苹果官方提供的面向对象的实现多线程的方法——NSThread。这一节中,我们学习C语言的实现多线程的方法,GCD,这也是我们项目中经常使用的一种方法。NS...
想要深入理解多线程,锁是预备知识,这里总结一下OC中锁相关的知识,打好基础。 为什么要有锁? 锁概念的提出,是为了解决多线程资源共享的问题,在多线程环境下,有的资源可能会同时...
读写锁是计算机程序的并发控制的一种同步机制,也称“共享-互斥锁”、多读者-单写者锁。读操作可并发重入,写操作是互斥的。 实现原理 两把互斥锁 使用两把互斥锁与一个整数计数器实...
进程(process) 就是一个运行的程序,比如一个运行的App。 有独立的逻辑内存空间。 线程(thread) 进程中一路单独运行的程序,一个进程由一个或多个线程构成。 各...
上一节中,我们详细的学习了和多线程有关的概念,像进程、线程、多线程、CPU内核、并发、并行、串行、队列、同步、异步等概念。这一节中,我们将用代码来实现多线程。如果对多线程概念...
什么是RunLoop? 可以简单理解为,让程序保持运行的一个while循环,这个循环内监听各种事件(如触摸事件、performSelector、定时器NSTimer等),没有...
KVO(Key Value Observing),可以用来监听一个对象键值的变化,当键值变化时,触发回调函数,做相应的操作,主要用法总结如下: 举个例子: KVO底层是怎么实...
前言 刚刚听到RunLoop的时候我也是一脸懵逼,这是什么,有什么用呢,逼格貌似还挺高。然后就开始尝试去搞懂它,去找博客,但是几乎所有的博客都是枯燥乏味的,都是讲概念,然后给...
本文重点总结 OC block 的原理,并带上一些例子,不讨论 block 的写法和应用。 block 的本质总结如下: block 在底层上是一个结构体,内部有一个isa指...
OC Runtime特性让他具有一些新功能,可以应用在日常的工作中,下面介绍 Runtime 中常见的应用,可以简要总结为以下几点(都要用到<objc/runtime.h>库...
动态绑定 我们都知道OC是动态语言,表现为对象方法的调用实际上是对对象发送消息,编译时不确定这个对象执行什么方法,而在运行时由消息(方法选择器selector决定对象执行什么...