首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
大花猫lucy
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
深度理解 NSURLProtocol
NSURLProtocol 是 Foundation 框架中 URL Loading System 的一部分。它可以让开发者可以在不修改应用内原始请求代码的情况下,去改变 URL 加载的全部细节。换句话说,NSURLProtocol 是一个被 Apple 默许的中间人攻击。 虽…
认真理解iOS开发中HTTPS协议的用法
网上有很多类似文章, 但我发现其中多少有一些致命错误和误解, 本文是我经过测试,翻看权威源码之后写出的, 尽量把程序在做什么个写明白. 本文的主角就是下面这个方法, 他属于NSURLSessionDelegate协议的, 至于古老版本的HTTPS相关接口就不说了.(NSURLS…
揭秘 YYModel 的魔法(上)
iOS 开发中少不了各种各样的模型,不论是采用 MVC、MVP 还是 MVVM 设计模式都逃不过 Model。 那么大家在使用 Model 的时候肯定遇到过一个问题,即接口传递过来的数据(一般是 JSON 格式)需要转换为 iOS 内我们能直接使用的模型(类)。iOS 开发早期…
iOS中Block的用法,示例,应用场景,与底层原理解析(这可能是最详细的Block解析)
【摘要】这篇文章,首先在第1节中介绍Block的定义,以及与C里面函数的对比。然后,第2节介绍实际开发中经常会用到的Block语法形式,以供读者日后查阅。只知道怎么用却不知什么时候用?所以随后的第3节将介绍Block的应用场景。然而,用Block不当导致了Crash?所以,第4…
如何实现 iOS App 的冷启动优化
当 App 中的业务模块越来越多、越来越复杂,集成了更多的三方库,App 启动也会越来越慢,因此我们希望能在业务扩张的同时,保持较优的启动速度,给用户带来良好的使用体验。 当用户按下 home 键,iOS App 不会立刻被 kill,而是存活一段时间,这段时间里用户再打开 A…
iOS多线程:『GCD』详尽总结
什么是 『GCD』 ?我们先来看看百度百科的解释简单了解下相关概念。 程序员只需要告诉 GCD 想要执行什么任务,不需要编写任何线程管理代码。
对iOS中runloop使用场景的一次总结
这里大部分是从各个技术博客中参考而来,部分场景添加了一些实践代码。 使用CFRunLoopPerformBlock函数, 可以指定在runloopMode下执行block任务。不过一般不这样使用。 autoreleasepool是以栈为节点, 双向链表构建的一个数据结构。aut…
iOS拾遗——为什么必须在主线程操作UI
究竟为什么一定要在主线程操作UI呢?如果在后台线程对UI进行操作会发生什么?在后台线程对UI进行操作不是可以更好的避免卡顿吗?这篇文章就是基于这样一些疑问而产生的。
iOS进阶之路 (六)消息的本质 & 消息发送
1. 方法的本质 AKPerson是AKStudent的父类,两个类各有一个类方法和实例方法。 由此可知:方法的本质其实就是通过objc_msgSend(id,SEL) 向特定的对象发送特定的消息。id是消息接受者,SEL是方法编号。 在clang编译之后还是run(),而不是…
iOS 底层 - OC 对象的创建流程
这样探索下来 , 我们不仅会熟练掌握这些知识点 , 更能对其融会贯通 , 得到苹果为什么会这么设计的根本原因 . 本篇文章从对象的创建出发 , 梳理对象创建流程 , 探索每一个遇到的知识点 . 对象的创建方式 , 最常见的 alloc init , 或者 new . 添加好断点…