首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Andres工坊
掘友等级
iOS爱好者
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
26
文章 26
沸点 0
赞
26
返回
|
搜索文章
最新
热门
Objective-C基础之九(深入理解多线程)
线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程的实际运作单位,一条线程指的是进程中一个单一顺序的控制流。 系统中正在运行的每一个应用程序都是一个进程,系统会为每个进程分配独立的内存空间。而一个进程中的所有任务都是在线程中执行的,因此每个进程至少得有一个线程…
Objective-C基础之八(深入理解RunLoop)
RunLoop其实是一个事件处理循环,被用作工作调度并且协调传入事件的接收。一般情况下,单条线程一次只能执行一个任务,执行完成之后线程就会退出,如果我们希望线程能够随时的处理事件并且不会退出,那么就在线程中开启一个RunLoop,RunLoop其实就是一个运行循环,它的主要目的…
Objective-C基础之七(Runtime用法)
super其实是OC为我们提供的一个关键字,主要是继承体系中用来调用类从父类继承过来的属性和方法,它只是一个标记,如果是使用super去调用方法,本质其实还是拿到当前类对象,然后从其父类的缓存和方法列表进行查找。下面我们就通过源码来进一步探索super的底层实现。 可以发现,在…
Objective-C基础之六(Runtime之深入理解objc_msgSend)
在OC中,所有的方法调用底层都会转换成objc_msgSend方法进行调用,那么objc_msgSend底层是如何实现的呢?现在我们就通过objc源码来了解objc_msgSend的调用流程。 在objc源码中查找objc_msgSend方法。发现方法的实现在objc-msg-…
Objective-C基础之五(Runtime之Class结构解析)
在之前的学习中,我们了解到isa指针在runtime机制中起到了非常大的作用,通过实例对象的isa指针,我们可以找到类对象,通过类对象的isa指针我们可以找到元类对象,在通过查看objc4的源码,我们可以看到isa指针是一个union isa_t类型的共用体。 其实在arm64…
Objective-C基础之四(深入理解Block)
Block其实就是一个代码块,通常被称为“闭包”,它封装了函数调用以及函数调用环境,以便在合适的时机进行调用,在OC中,Block其实就是一个OC对象,它可以当做参数传递。 由此可以看出block底层其实就是一个OC对象,因为它内部拥有isa指针。同时block将内部所要执行的…
Objective-C基础之三(深入理解Category)
category是Objective-C 2.0之后的语言特性,我们通常称之为类别。他最主要的作用就是为已有的类增加方法,属性,协议等等,但是不能增加实例变量,当然,如果是增加属性的话,只会增加属性的声明,并不会生成属性的setter和getter方法。 因为Category的…
Objective-C基础之二(深入理解KVO、KVC)
KVO的全称是key-value Observng,也叫做“键值监听”,通常用来监听某个对象的某个属性值的变化。下面使用一个简单的例子来回顾一下KVO的用法。 这时候会发现添加了Observer后的person对象的isa指针不是指向XLPerson,而是指向一个新的类对象NS…
Objective-C基础之一(深入理解OC对象)
平常我们使用Objective-C语法来编写代码,但是它的底层其实都是C或C++代码。Objective-C其实是在C语言的基础上增加了面向对象的特性。我们可以通过以下命令将Objective-C代码转换成C++代码: 与此同时,还需要下载runtime的源码,通过objc源码…
iOS逆向学习之十二(iOS签名机制)
在学习了上一章什么是加密解密、数字签名以及证书之后,现在我们再来学习iOS的签名机制就事半功倍了。其实iOS签名机制的作用就是保证安装到用户手机上的App都是经过Apple官方允许的。当然,越狱设备除外。 在Apple开发者网站上注册device,添加App ID。 经过以上的…
下一页
个人成就
文章被点赞
200
文章被阅读
73,737
掘力值
1,725
关注了
17
关注者
963
收藏集
3
关注标签
10
加入于
2018-12-29