首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS基础
订阅
yeeeeeah
更多收藏集
微信扫码分享
微信
新浪微博
QQ
30篇文章 · 0订阅
iOS定时器循环引用分析及完美解决方案
CADisplayLink(频率能达到屏幕刷新率的定时器类)也和NSTimer一样会有此问题,这里为了方便只使用NSTimer去讲解。 所以他们两者相互被强引用,即发生了循环引用,dealloc 永远不会被执行,timer 也永远不会被释放,造成内存泄漏。 虽然能解决问题,但是…
深入理解iOS的block
在文章之前,先抛出如下问题。 如果现在不是很熟悉,希望看完这篇文章,能有个新的认识。 先介绍一下什么是闭包。在 wikipedia 上,闭包的定义是 block 实际上就是 Objective-C 语言对于闭包的实现。 如图所示,age是直接值传递,height传递的是*hei…
一文彻底理解iOS block的知识点
可以带着以下问题来阅读本文 基础问题 什么是 Block?请举例说明 Block 的使用场景。 Block 如何捕获外部变量?请解释 Block 捕获变量的规则。 请解释 Block 的内存管理,特别
YYAsyncLayer 源码剖析:异步绘制
性能优化一直是 iOS 开发中的一个重头戏,其中界面流畅度的优化是至关重要的,因为它直接关系到用户体验。从最熟悉和简单的 UIKit 框架到 CoreAnimation、CoreGraphics、CoreText 甚至是 OpenGL,优化似乎是无穷无尽,也非常考验开发者的水平…
iOS开发·runtime原理与实践: 消息转发篇(Message Forwarding) (消息机制,方法未实现+API不兼容奔溃,模拟多继承)
在我们开始使用消息机制之前,我们可以约定我们的术语。例如,很多人不清楚“方法”与“消息”是什么,但这对于理解消息传递系统如何在低级别工作至关重要。 方法:与一个类相关的一段实际代码,并给出一个特定的名字。例:- (int)meaning { return 42; } 消息:发送…
设计模式-状态模式
状态模式中类的行为是由状态决定的,不同的状态下有不同的行为。其意图是让一个对象在 其内部改变的时候,其行为也随之改变。状态模式核心是状态与行为绑定,不同的状态对应不同的行为。
《Objective-C 高级编程》干货三部曲(二):Blocks篇
这一章讲解了Block相关的知识。因为作者将Objective-C的代码转成了C++的代码,所以第一次看的时候非常吃力,我自己也不记得看了多少遍了。 这篇总结不仅仅只有这本书中的内容,还有一点在其他博客里看过的Block的相关知识,并加上了自己的理解,而且文章结构也和原书不太一…
深入理解GCD之dispatch_queue
GCD队列是我们在使用GCD中经常接触的技术点,分析dispatch_queue部分的源码能更好得理解多线程时的处理。但是libdispatch的源码相对来说比较复杂,综合考虑下,使用了libdispatch-187.9进行分析。 1. 队列和线程的关系 线程和队列并不是一对一…
iOS - 关于 KVO 的一些总结
这篇文章是关于 iOS 中 KVO(Key-Value Observing)的详细总结,包括 KVO 的概念、基本使用、进阶使用、实现原理等。
iOS开发·runtime原理与实践: 基本知识篇(类,超类,元类,super_class,isa,对象,方法,SEL,IMP)
1. 运行时 Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码,底层都是基于它来实现的。比如: 以上你可能看不出它的价值,但是我们需要了解的是 Objective-C 是一门动态语言,它会将一些工作放在代码运行…