首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS基础
订阅
ShawnFoo
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 2订阅
RunLoop终极解析:输入源,定时源,观察者,线程间通信,端口通信,NSPort,NSMessagePort,NSMachPort,NSPortMessage
OSX / iOS 系统中,提供了两个这样的对象:NSRunLoop 和 CFRunLoopRef。 CFRunLoopRef 是在 CoreFoundation 框架内的,它提供了纯 C 函数的 API,所有这些 API 都是线程安全的。 NSRunLoop 是基于 CFRu…
iOS底层原理总结 - 关联对象实现原理
答:不能直接添加成员变量,但是可以通过runtime的方式间接实现添加成员变量的效果。 使用RunTime给系统的类添加属性,首先需要了解对象与属性的关系。我们通过之前的学习知道,对象一开始初始化的时候其属性为nil,给属性赋值其实就是让属性指向一块存储内容的内存,使这个对象的…
iOS底层原理总结 - 探寻OC对象的本质
对小码哥底层班视频学习的总结与记录。面试题部分,通过对面试题的分析探索问题的本质内容。 探寻OC对象的本质,我们平时编写的Objective-C代码,底层实现其实都是C\C++代码。 OC的对象结构都是通过基础C\C++的结构体实现的。 我们通过命令行将OC的mian.m文件转…
iOS底层原理总结 - 探寻block的本质(一)
block本质上也是一个oc对象,他内部也有一个isa指针。block是封装了函数调用以及函数调用环境的OC对象。 上图中将c++中block的声明和定义分别与oc代码中相对应显示。将c++中block的声明和调用分别取出来查看其内部实现。 上述定义代码中,可以发现,block…
iOS底层原理总结 - RunLoop
一. RunLoop简介 运行循环,在程序运行过程中循环做一些事情,如果没有Runloop程序执行完毕就会立即退出,如果有Runloop程序会一直运行,并且时时刻刻在等待用户的输入操作。RunLoop可以在需要的时候自己跑起来运行,在没有操作的时候就停下来休息。充分节省CPU资…
iOS内存管理详解
从上图可以看到,栈里面存放的是值类型,堆里面存放的是对象类型。对象的引用计数是在堆内存中操作的。下面我们讲讲堆和栈怎么存放和操作数据, 还有MRC和ARC怎么管理引用计数。 这就好像候机的时候,无论谁先到达候机厅,总是头等舱的乘客先登机,然后是商务舱的乘客,最后是经济舱的乘客。…
WWDC 2017:高级开发应该掌握的自动布局技巧
如果你以前从未使用过Autolayout,现在网上已经有很多很优秀的教程,包括往届 WWDC 中 sessions 视频资源都可供查看学习。在本文中将不再重复基本的使用方法,更多的去介绍一些更加复杂的场景中的应用,本文中技术结合实例使你更容易理解吸收。让我们一起来看看与Auto…
WWDC 2018:iOS 内存深入研究
对于我们的 App 所依赖的设备而言,内存资源是有限的。降低 App 所使用的内存可以提高性能和体验,相反,过大的内存占用可能会导致 App 被系统强制退出。所以每个 iOS 开发者都应该关注内存问题。这一节新的内容不多,基本上都是一些老的知识点。 在探讨内存之前,我们要知道为…
RunLoop 源码阅读
这一篇文章主要在于 Run Loop 源码的阅读,内容有点长,需要一些基础。 Run Loop 是一个 iOS 开发里的基础概念,它并非独有的机制,很多系统和框架都有类似的实现,Run Loop 是 Event Loop (事件循环)机制的在 iOS 平台的一种实现。 说到 E…