首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS开发,底层原理
订阅
漠然丶情到深处
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
iOS开发的分类和扩展
分类(Category)是OC中的特有语法,它是表示一个指向分类的结构体的指针。原则上它只能增加方法,不能增加成员(实例)变量。 如果分类中有和原有类同名的方法, 会优先调用分类中的方法, 就是说会忽略原有类的方法。所以同名方法调用的优先级为 分类 > 本类 > 父类。因此在开…
iOS KVC和KVO详解
同时苹果对一些容器类比如NSArray或者NSSet等,KVC有着特殊的实现。 KVC要设值,那么就要对象中对应的key,KVC在内部是按什么样的顺序来寻找key的。当调用setValue:属性值 forKey:@”name“的代码时,底层的执行机制如下: 程序优先调用set:…
iOS Runtime详解
我们从下面几个方面探寻Runtime的实现机制。 Runtime其实有两个版本: “modern” 和 “legacy”。我们现在用的 Objective-C 2.0 采用的是现行 (Modern) 版的 Runtime 系统,只能运行在 iOS 和 macOS 10.5 之后…
SDWebImage---源码分析
本文是对优秀三方开源库源码学习的第一篇,通过对优秀源码的分析,帮助我们提升自己的“内功”。 优秀的轮子,比如SDWebImage我们开发中使用了多次,再熟悉不过了。除了对其功能的使用之外,他优秀的设计模式和封装思想也值得我们学习。以及前面几篇文章中分享的多线程,runloop,…
iOS多线程:『GCD』详尽总结
什么是 『GCD』 ?我们先来看看百度百科的解释简单了解下相关概念。 程序员只需要告诉 GCD 想要执行什么任务,不需要编写任何线程管理代码。
OC内存管理
通过引用计数器(returnCount)的机制来决定对象是否需要释放,每次runloop完成一个循环的时候,就会检查对象的retainCount,如果returnCount为0,说明没有对于该对象的引用,该对象可以被释放掉,当引用计数减为零之后,系统会自动调用dealloc方法…
iOS 程序 main 函数之前会发生什么呢?
前言一个iOSApp的main函数位于main.m中,这是我们熟知的程序入口。但对objc了解更多之后发现,程序在进入我们的main函数前已经执行了很多代码,比如熟知的+load方法等。本文将跟随程序
KVC底层原理分析
KVC全称是Key Value Coding,定义在NSKeyValueCoding.h文件中,是一个非正式协议。KVC提供了一种间接访问其属性方法或成员变量的机制,可以通过字符串来访问对应的属性方法或成员变量。 同样是返回key对应的属性值,但是这里需要传递key的路径 va…
KVO原理浅析
KVO是一种允许指定的对象的属性被改变时通知观察者的机制。 KVO在网上的评价褒贬不一,它提供了非常简单的使用方式,但同时在使用过程中又有许多坑需要避免,但不管怎样,KVO是一个有意思的功能,有必要从实现角度去了解一下,学习它的思想。 1. 订阅属性 这里options可以传入…
iOS中的内存管理
内存管理对iOS开发者来说,是很重要的一环。 栈:函数调用开销,比如局部变量。分配的内存空间地址越来越小 堆区需要程序员进行管理,如何管理、记录、回收就是一个很值得思考的问题。 iOS 采用的是引用计数(Reference Counting)的方式,将资源被引用的次数保存起来,…