首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
mark
订阅
用户8011522253348
更多收藏集
微信扫码分享
微信
新浪微博
QQ
24篇文章 · 0订阅
lldb常用命令与调试技巧
LLDB是个开源的内置于XCode的调试工具,它能帮助我们在开发中更快的定位和调试bug,无论正向和逆向开发中都有很大的作用。lldb对于命令的简称,是头部匹配方式,只要不混淆(不提示歧义),你可以随意简称某个命令。 单步调试通常分为两大类,一类为源码级别(source lev…
iOS探寻+(void)load方法的执行时机
我们经常会有一些需求:让某方法的执行先于main方法。比如要hook某个系统类的方法(hook UIViewController的viewWillAppear和viewDidDisappear通过AOP的方式实现埋点功能),或者做一些初始化操作。这时候我们经常首先想到的就是重写…
深入理解 iOS 事件机制
这篇文章始于一个需求:我们在 SDK 提供的某个 View 的 Subview 中实现了单击双击等多个 Gesture Recognizer,而客户希望自己在这个 View 上的单击手势不会冲突,同时没有延迟。 借此机会,我们来重温下 iOS 的事件机制和手势冲突,重点介绍下 …
[译]Swift 静态派发与动态派发
本文主要讲解 Swift 中的方法派发/调度,在 Swift 日渐权重的今天,学习 Swift 的消息派发有助于更好的理解Swift
WWDC 2018 :CollectionView 之旅
看完这篇 Session,给我的直观感受是这篇名为 A Tour Of UICollectionView 的文章,是围绕着一个 CollectionView 的案例,对自定义布局以及其性能优化、数据操作、动画做的一次探讨。虽然没有新增的 API 和特性,但是实际意义蛮大。 Co…
iOS拾遗——为什么必须在主线程操作UI
究竟为什么一定要在主线程操作UI呢?如果在后台线程对UI进行操作会发生什么?在后台线程对UI进行操作不是可以更好的避免卡顿吗?这篇文章就是基于这样一些疑问而产生的。
打造完备的iOS组件化方案:如何面向接口进行模块解耦?
关于组件化的探讨已经有不少了,在之前的文章iOS VIPER架构实践(三):面向接口的路由设计中,综合比较了各种方案后,我倾向于使用面向接口的方式进行组件化。 这是一篇从代码层面讲解模块解耦的文章,会全方位地展示如何实践面向接口的思想,尽量全面地探讨在模块管理和解耦的过程中,需…
iOS自定义转场动画实战讲解
转场动画这事,说简单也简单,可以通过presentViewController:animated:completion:和dismissViewControllerAnimated:completion:这一组函数以模态视图的方式展现、隐藏视图。如果用到了navigationC…
iOS 底层探索 - KVC
Key Value Coding 也即 KVC 是 iOS 开发中一个很重要的概念,中文翻译过来是 键值编码 ,关于这个概念的具体定义可以在 Apple 的官方文档处找到。 我们通常使用访问器方法来访问对象的属性,即使用 getter 来获取属性值,使用 setter 来设置属…
iOS 编译详解 LLVM Clang
从上图我们可以知道,编译型语言需要在运行之前就将代码全部编译好,最终运行的文件是编译后的可执行文件。我们将编译型语言所使用的编译方式称为 AOT (Ahead of time) 预先编译。 而直译式语言则是在运行的过程中,一边编译一边执行,最终运行的文件其实就是一开始写的源代码…