首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
顽主范儿
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
RunLoop的前世今生
日常的开发工作中,我们几乎很少注意RunLoop,因为我们基本上“用不到”RunLoop。包括我在内应该有很多人都不了解这个东西,只是听说过。最近有空查了不少资料终于把RunLoop运行原理搞清楚了。 本文会对RunLoop的原理进行深入探讨,但是不涉及底层的实现。 我们通过R…
iOS VIPER架构实践(三):面向接口的路由设计
路由是实现模块间解耦的一个有效工具。如果要进行组件化开发,路由是必不可少的一部分。目前iOS上绝大部分的路由工具都是基于URL匹配的,优缺点都很明显。这篇文章里将会给出一个更加原生和安全的设计,这个设计的特点是: 如果你想要一个能够充分解耦、类型安全、有依赖注入功能的路由器,那…
YYAsyncLayer 源码解析
看看 YYTransaction , 根据名字 这应该是 处理事物相关的 类。 可以看出 YYTransaction 是 用来将 selector 在 runloop sleep 前 提交到 runloop 中 处理的。 注意commit 中的注释,如果 相同的 transac…
Swift 线程安全数组
有并发的地方就存在线程安全问题,尤其是对于 Swift 这种还没有内置并发支持的语言来说线程安全问题更为突出。下面我们通过常见的数组操作来分析其中存在的线程问题,以及如何实现一个线程安全数组。 因为无法确定执行顺序,所以并发导致的问题一般都很难模拟和测试。不过我们可以通过下面这…
类似逐帧动画或者tableView列表中有大量图片展示需求的场景我们可以做哪些优化?
知识面和基础功底的重要性,决定了我们在写代码时会去关注哪个层面的东西
[iOS] 谈谈iOS多线程的锁
iOS开发中由于各种第三方库的高度封装,对锁的使用很少,刚好之前面试中被问到的关于并发编程锁的问题,都是一知半解,于是决定整理一下关于iOS中锁的知识,为大家查缺补漏。 在过去几十年并发研究领域的出版物中,锁总是扮演着坏人的角色,锁背负的指控包括引起死锁、锁封护(luyang注…
如何优雅地动态插入数据到UITableView
当我们实时往UITableView中插入数据并刷新列表的时候,会发现列表是有抖动的。比如在微信聊天页面,你滑动到某一个位置保持住,然后收到一个或者若干人的微信(这几个人不在当前聊天列表中)。你会发现每收到一个人的信息,列表向下沉,就是有一个“抖动”的过程。当然,并不是说微信体验…
控制器加载的玄机
系统做判断的前提提条件:没有指定nibName;没有自定义loadView方法;控制器以...Controller命名 判断原则: 1、判断下有没有指定nibName,如果指定了就去加载nib 2、判断有没有跟控制器同名的xib,但是xib的名称不带Controller的xib…
iOS面试题集合(BAT及各大中小型公司)
本文主要内容为iOS面试题目,对各个面试题进行一些分类(持续更新),包含了BAT,及各大中小型公司的面试题集合,为大家在找工作的时候提供一点帮助...