首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS高级
订阅
栋_o_0
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
iOS多线程安全-13种线程锁🔒
多个线程访问同一块资源的时候,很容易引发数据混乱问题。 正常情况下我有50张票,然后卖了50次,剩余票数应该是0,但是打印结果竟然是3,所以这里就存在了线程安全问题。 出现线程安全的原因就是在同一个时间,多个线程同时读取一个值,像线程A和B同时读取了当前票数为10,等于是卖了两…
细数iOS触摸事件流动
其中pointInside:withEvent方法用于判定触摸点是否在自身坐标范围内,默认实现是若在坐标范围内则返回YES,否则返回NO。因此,可通过重写UIView的hitTest:withEvent和pointInside:withEvent方法来修改事件的流向。 若视图是…
iOS NSMutableArray 底层分析
在这之前,一直以为NSMutableArray底层实现和普通可变数组(c++ vector)一样,插入和删除操作会移动元素,时间复杂度可能会达到O(n),效率并不高,直到看到这篇文章 NSMutableArray原理揭露 ,才发现自己理解是错误的。这里记录一下自己的分析过程。 …
iOS Crash防护
“信号”是操作系统模拟软硬中断的工作过程的一种处理异步事件的机制,例如:终端用户键入ctrl+c会产生SIGINT信号默认会终止终端进程。 终端连接断开,则将此信号送给与该终端相关的控制进程(会话首进程)。 若父进程退出导致进程组成为孤儿进程组,且该进程组中有进程处于停止状态(…
iOS Synchronized 底层分析
synchronized是objc中提供的同步锁,支持递归。但是在swift中删除了,可以使用objc_sync替代。 想要弄清楚这些问题,还得弄清楚synchronized的底层实现,接下来我们来分析具体的实现。 首先通过汇编来分析下synchronized都做了什么,先写一…
iOS开发技巧之使用Runloop监控App卡顿
这是我参与8月更文挑战的第21天,活动详情查看: 8月更文挑战 所谓卡顿,就是App在主线程上无法响应用户交互的现象。如果一个App出现了长时间的卡顿,那么极有可能流失大量用户;所以卡顿对App的负面
《Objective-C 高级编程》干货三部曲(三):GCD篇
本篇是三部曲的最后一篇,讲解了本书的第三章的内容。在这一章里,作者主要介绍了GCD技术,它是基于C语言的API,开发者只需要将任务放在block内,并指定好追加的队列,就可以完成多线程开发。 多个线程更新相同的资源:数据竞争。 多个线程相互持续等待:死锁。 使用太多的线程导致消…
《Objective-C 高级编程》干货三部曲(一):引用计数篇
总结了Effective Objective-C之后,还想读一本进阶的iOS书,毫不犹豫选中了《Objective-C 高级编程》。 这本书有三个章节,我针对每一章节进行总结并加上适当的扩展分享给大家。可以从下面这张图来看一下这三篇的整体结构: Objective-C通过 re…
《Effective Objective-C》干货三部曲(三):技巧篇
本篇是《Effective Objective-C 》干货三部曲的了最后一篇:技巧篇。这一篇总结了这本书中一些关于开发技巧以及偏向“设计模式”的知识点。 在iOS开发中,我们也会使用“类族”(class cluster)这一设计模式,通过“抽象基类”来实例化不同的实体子类。 笔…
《Effective Objective-C》干货三部曲(二):规范篇
继上一篇《Effective Objective-C 》干货三部曲(一):概念篇之后,本篇即是三部曲的第二篇:规范篇。 概念类:讲解了一些概念性知识。 规范类:讲解了一些为了避免一些问题或者为后续开发提供便利所需要遵循的规范性知识。 技巧类:讲解了一些为了解决某些特定问题而需要…