首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
风紧扯呼_DS
掘友等级
IOS开发工程师
九天之云下垂,四海之水皆立
获得徽章 15
动态
文章
专栏
沸点
收藏集
关注
作品
赞
146
文章 144
沸点 2
赞
146
返回
|
搜索文章
最新
热门
iOS内存管理一:Tagged Pointer&引用计数
这里有点值得一提的是静态变量的作用域与对象、类、分类没关系,只与文件有关系。 从上面运行结果可以知道,在Person类、Person分类、Controller中针对静态变量age的操作,其值并不相互影响。 OC中对内存优化管理的方案有如下几种形式:Tagged Ponter、N…
iOS底层原理:weak的实现原理
该方法的两个参数location和newObj。 从上面的代码可以看出objc_initWeak方法只是一个深层次函数调用的入口,在该方法内部调用了storeWeak 方法。下面我们来看下storeWeak 方法的实现代码。 如下是storeWeak方法的实现代码。 store…
iOS多线程:NSOperation详解
NSOperation是苹果公司提供的一套完整的多线程解决方案,实际上它是基于GCD更高一层的封装,完全面向对象。相对于GCD而言使用更加的简单、代码更具可读性。包括网络请求、图片压缩在内的诸多多线程任务案例都很好的使用了NSOperation。当然NSOperation还需要…
iOS定时器-- NSTimer&GCD定时器
NSTimer是iOS中最基本的定时器。NSTimer是通过RunLoop来实现的,在一般的情况下NSTimer作为定时器是比较准确的,但是如果当前的耗时操作较多时,可能出现延时问题。同时,因为受到RunLoop的支配,NSTimer会受到RunLoopMode的影响。在创建N…
iOS多线程:GCD详解
GCD有着很明显的优势,正是这些优势才使得GCD在处理多线程问题有着举足轻重的地位。 相信很多初级开发者会对GCD任务和队列之间的关系理解含糊不清,实际上队列只是提供了保存任务的容器。为了更好的理解GCD,很有必要先了解任务和队列的概念。 任务就是需要执行的操作,是GCD中放在…
KVO的实现原理
KVO 即Key-Value Observing,翻译成是中文键值观察,是一种非正式的协议,它定义了对象之间观察和通知状态改变的机制,是观察者模式的一种衍生。KVO通过对对象的某个属性添加注册观察,当该属性的值发送变化时,会触发观察者对象实现的KVO接口方法,自动通知观察者。简…
KVC实现原理剖析
KVC全称是Key Value Coding,定义在NSKeyValueCoding.h文件中,翻译成中文是键值码,是由NSKeyValueCoding非正式协议启用的一种机制,对象采用这种机制来提供对其属性的间接访问,这种间接访问机制补充了实例变量及其关联的访问器方法提供的直…
IOS底层原理之类的加载过程
在上一篇文章《IOS底层原理之main函数之前-dyld的加载流程》中,小编分析了dyld的加载流程,已然知道了在程序运行之初dyld对动态库进行加载、链接等系列动作之后程序会进入到libobjc.A.dylib库中的_objc_init方法调用_dyld_objc_notif…
IOS底层原理之 dyld的加载流程
在iOS开发中,我们都存在这样的一个误区,那就是程序的入口在main函数,所有的程序运行由此函数的调用而开始运行,但是实际上在main函数之前会有一系列的工作在运行,比如+load方法和constructor构造函数就是在main函数之前执行的。这篇文章将从main函数入手向上…
IOS底层原理之Category窥探
category是Objective-C 2.0之后添加的语言特性,主要作用是为已经存在的类添加方法,苹果官方推荐两个使用场景。 在日常的开发中,我们也不仅仅是基于这两个使用场景,我们还可以通过category来模拟多继承、公开Framework库的私有方法、拓展类的功能等。 …
下一页
个人成就
文章被点赞
282
文章被阅读
90,626
掘力值
2,046
关注了
81
关注者
1,039
收藏集
0
关注标签
115
加入于
2016-08-24