加载中
【iOS】lldb常用小Tips

内存打印 x/nuf <addr> x表示为16进制打印 n表示要现实的内存单元的个数 u表示一个地址单元的长度 b:单字节 h:双字节 w:四字节 g:八字节 f表示显示方式 x:按16进制格式显示变量 d:按1...

08/09 08:18
0
【OC底层】 alloc底层原理

Pre objc4-824 提出问题 首先我们有如下代码 YKPerson *p0 = [YKPerson alloc]; YKPerson *p1 = [p0 init]; YKPerson *p2 = [p0 init]; NSLog(@"%@-%p-%p",p0,p0,&p0); NSLog(@"%@-%p-%p",p...

c++
08/05 09:52
0
【iOS 进阶】RxSwift探索

在上篇文章RxSwift基础中大致探索了一下观察者、订阅者序列的实现逻辑,今天来继续深入探索。 RxSwift中的继承链 我们知道在创建一个观察者序列的时候会调用到Observable<Any>.create函数,在...

08/03 07:52
9
【iOS 进阶】RxSwift基础

Base RxSwift简介 复合 复用 清晰:声明不可变更 易用:抽象了异步编程 稳定 函数响应式编程 Functional Reactive Programming 函数式编程 函数式编程是种编程方式,它将电脑运算视为函数的计...

07/26 12:15
31
【Swift底层】Swift的Runtime探索

基础 由于Swift不像OC,它不是一门运行时动态语言,所以我们无法在运行时获取到其方法列表、属性列表。 class YKClass { func getNewName() { print("New(name)") } func getNewAge() ......

07/24 09:35
30
【Swift底层】内存管理

基础 Swift中用ARC机制来追踪和管理内存 通过lldb探究 var cls = YKClass() var cls2 = cls var cls3 = cls 通过po指令获取变量地址并通过x/8g查看具体内容 可以看到此时的引用计数为3。 引用...

c++
07/23 08:29
23
【Swift 底层】指针

基础 分类 typed pointer:指定数据类型指针 【UnsafePointer<T>】 raw pointer:未指定数据类型的指针(原生指针)【UnsafeRawPointer】 Swift中的指针于OC中的指针的对应关系 Swift Object...

【Swift底层】内存分区 & 方法调度

iOS内存分区 栈区 func test() { let a = 10 print("end") } 我们在函数中声明了一个局部变量a,通过po withUnsafeMutablePointer(to: &a){print($0)}获取a的地址为0x00007ffee9d28740 ......

【Swift底层】值类型&引用类型

值类型 基础 在Swift中,所有的基本类型:整型(Int)、浮点型(Float)、布尔类型(Boolean)、字符串类型(String)、数组(Array)、字典(Dictionary)、元组(Tuple)都是值类型,它们的...

【iOS 底层】Swift 对象、类、属性

基础 iOS开发的语言不管是OC还是Swift都是通过LLVM进行编译的 swift的前端编译器为swiftc。我们可以通过swiftc -h查看常用指令 MODES: -dump-ast Parse and type-check input file(s) and du...

【iOS 底层】dyld探索

基础 作用:将应用的MachO加载到内存中。 dyld在系统中以一个用户态的可执行文件形式存在,一般应用程序会在MachO文件部分指定一个LC_LOAD_DYLINK的加载命令,此加载命令指定了**** 流程探索...

【编程进阶】Git探索

Git常见操作名词 HEAD:指向分支的最后一次提交对象 git reset: 用于回退版本,可以指定退回某一次提交的版本 git reset --mixed:默认参数。只能操作暂存区代码 git reset --soft:回退到暂...

【iOS 进阶】cocoapods探索

基础 从github clone源码:git clone https://github.com/CocoaPods/CocoaPods.git podspec vs gemspec podspec:一个规范描述了pods库的一个版本。它包括有关应从何处获取源,使用哪些文件,...

【iOS 进阶】ruby

ruby基础 Ruby VS Python 同样都为脚本语言 Python的解析器实现更成熟,第三⽅库质量⾼。但是Ruby包管理更简单、⽅便。 Python的应⽤领域⼴泛。⽽Ruby⽬前主要局限在在Web领域与精致项⽬。 ...

【Swift 基础】闭包初探

Pre Swift Version :swift 5.3.2 Target : x86_64-apple-darwin20.3.0 闭包 基础概念 闭包是可以在代码中被传递和引用的功能性独立代码块 闭包能够捕获、存储定义在其上下文中的任何常量和...

03/14 10:09
71
【iOS 基础】UI相关 - 布局约束

Pre macos Version : Big Sur 11.2.1 Xcode Version : 12.4 Language :Swift Language Version : 5.3.2 NSLayoutConstraint 初始化方法 // API public convenience init(item view1: Any, ...

03/07 10:10
77
【iOS 底层】主线程 & 主Runloop

Pre macOS:Catalina 10.15.7 Xcode:12.3 objc4:objc4-787.1 基本概念 CFRunloop CFRunLoop对象监视任务的输入源,并在它们准备好进行处理时分派控制。 运行循环可以监视三种类型的对象:CF...

【AFNetworking 分析】图片下载

Pre AFNetworking分析版本:4.0.1 关于本文中涉及图片缓存的分析,见【AFNetworking 分析】图片缓存机制 AFImageDownloader 基础 简介 AFImageDownloader 负责在已优先排序的队列上并行下载图...

【AFNetworking 分析】图片缓存机制

Pre AFNetworking分析版本:4.0.1 AFAutoPurgingImageCache 基础 简介 内存中映像缓存中的AutoPurgingImageCache,用于存储给定内存容量的图片。 当达到内存容量时,图片缓存按上次访问日期排...

02/10 09:30
53
【AFNetworking 分析】AFNetworkReachabilityManager 网络状态监控

Pre AFNetworking分析版本:4.0.1 基础 简介 AFNetworkReachabilityManager监控domains的可达性,以及WWAN和WiFi网络接口的地址。 Reachability可用于确定关于网络操作失败原因的后台信息,或...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部