首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS 开发基础原理
订阅
涛涛tao锅
更多收藏集
微信扫码分享
微信
新浪微博
QQ
19篇文章 · 0订阅
Kingfisher源码阅读(一)
Kingfisher是swift语言编写的一款非常受欢迎的图片加载库,功能和OC语言编写的SDWebImage类似。作者猫神是我初入iOS开发到现在都很崇拜的偶像。 1. Kingfisher.swift文件中 不知道你是否对上面使用方法中的kf好奇,我记得我第一次使用的时候,…
ios中字典转模型(json转模型)原理及应用
为了代码可读性以及开发效率,我们往往会将数据抽象为数据模型,在开发过程中操作数据模型而不是数据本身。 在开发过程中,我们需要将key-value结构的数据,也就是字典,转化为数据模型。也就是字典转模型啦。 字典转模型主要应用在两个场景。网络请求(json解析为模型、模型转字典作…
Runtime源码浅析(内部分享)
Class对象其实是一个指向objc_class结构体的指针。 在Runtime源码中,我们调用Class方法,其实是在调用object_getClass(self),最终通过下面代码获取结果值。 上述源码可以知道,isa_t是个联合体。 bits是long类型的数值。 上述源…
iOS KVO学习记录
KVO,即:Key-Value Observing,是 Objective-C 对 观察者模式(Observer Pattern)的实现。它提供一种机制,当指定的对象的属性被修改后,观察者就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的…
WWDC 2018:iOS 内存深入研究
对于我们的 App 所依赖的设备而言,内存资源是有限的。降低 App 所使用的内存可以提高性能和体验,相反,过大的内存占用可能会导致 App 被系统强制退出。所以每个 iOS 开发者都应该关注内存问题。这一节新的内容不多,基本上都是一些老的知识点。 在探讨内存之前,我们要知道为…
iOS概念攻坚之路(三):内存管理
iOS 的内存管理不止是 「引用计数表」。 iOS 开发者基本都知道 iOS 是通过「引用计数」来管理内存的,但是也许并不知道 iOS 其他的内存管理方式,比如 「Tagged Pointer」(带标记的指针),比如 「NONPOINTER_ISA」(非指针型 isa),这个要…
iOS Crash 捕获及堆栈符号化思路剖析
最近在做 Crash 分析方面的工作,发现 iOS 的崩溃捕获和堆栈符号化虽然已经有很多资料可以参考,但是没有比较完善的成套解决方案,导致操作起来还是要踩很多坑,耽误了很多时间。所以想做一个总结,阐述 Crash 收集分析的整体思路和出坑指南,具体细节实现会给出相关参考资料。有…
iOS 开发:『Runtime』详解(四)获取类详细属性、方法
本文用来介绍 —— iOS 开发中,如何通过『Runtime』获取类详细属性、方法。1. 获取类详细属性、方法简述 2. 获取类详细属性、方法 3. 应用场景
iOS用libcurl发起一个get请求,并保存返回数据到沙盒
这个需求分为:1.如何接入libcurl库,2.如何用libcurl发起get请求,3.如何将数据保存到沙盒路径下一.第一个需求,由于libcurl只有源码,需要你自己去编译各平台下的库,怎么编译参考
Runtime经典面试题(附答案)
如果方法返回值为结构体,发送给nil的消息将返回0。结构体中各个字段的值将都是0; 如果方法的返回值不是上述提到的几种情况,那么发送给nil的消息的返回值将是未定义的。 图中实线是 super_class指针,虚线是isa指针。 Root class (class)其实就是NS…