自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android开发领域创作者

掘金账号:https://juejin.cn/user/4406498335701950 欢迎关注

  • 博客(946)
  • 收藏
  • 关注

原创 后退N帧协议总结

1)后退N帧只是用一个计时器,当这个计时器超时时,则会重传超时报文之后 的全部报文。2)后退N帧的发送窗口大小应该小于2^m。这种原因要分两种情况讨论:假设接收端所期望接受的豹纹的序列号为n,一种情况为:发送端还没发送能发送这个n,而是发送窗口刚好处于n的左边,那么这种情况说明发送端处于阻塞状态,并且窗口的所有分组都需要等待确认,假设这个窗口的大小刚好等于2^m,那么发送窗口的第一个报

2016-04-22 20:58:17 11853 4

原创 Swift 运行时初始化过程源码分析(21)

Swift 运行时是 Swift 语言的核心基础设施,它负责管理程序运行期间的各种关键机制,包括内存管理、对象生命周期、类型信息、方法调度等。与编译时不同,运行时处理的是程序在执行过程中的动态行为。

2025-06-14 23:45:00 537

原创 Swift Core Data 框架(20)

Swift Core Data 是 Apple 平台上的一个强大的数据持久化框架,它提供了对象-关系映射(ORM)功能,允许开发者以面向对象的方式管理和存储数据。Core Data 不仅支持将数据存储到本地磁盘,还提供了对象图管理、数据验证、撤销/重做等高级功能。

2025-06-14 22:00:00 730

原创 SwiftUI 与响应式编程(19)

SwiftUI是苹果推出的用于构建iOS、iPadOS、macOS等应用界面的新一代框架,其核心思想深度融合响应式编程理念。响应式编程强调数据变化驱动UI更新,开发者只需声明UI应呈现的状态,框架自动处理状态变更时的UI刷新。在SwiftUI中,这种特性极大简化了UI开发流程,让开发者专注于界面逻辑,而无需手动编写繁琐的UI更新代码。

2025-06-14 19:00:00 343

原创 UIView 的核心属性与方法(18)

UIView 作为 UIKit 的基础组件,其核心属性和方法构成了整个框架的基石。从源码角度分析,UIView 的实现涉及多个关键领域,包括几何布局、事件处理、图层管理和动画系统

2025-06-14 18:00:00 563

原创 Swift Foundation 框架核心类底层实现分析(17)

Foundation 框架是 Apple 平台上最基础的系统框架之一,其历史可以追溯到 NeXTSTEP 时代。在 Swift 语言诞生后,Foundation 进行了全面重构,以更好地支持 Swift 的语言特性,如值类型、泛型和协议等。目前,Foundation 框架提供了基础数据类型、文件系统操作、网络通信、日期时间处理等核心功能,是开发 Apple 平台应用的必备工具。

2025-06-14 17:00:00 948

原创 Swift并发队列与同步机制源码分析(15)

Swift的并发模型经历了从基于GCD的传统模式到结构化并发的重大转变。在Swift 5.5之前,开发者主要依赖于Grand Central Dispatch (GCD)提供的C语言API进行异步编程,这种模式存在回调地狱、错误处理复杂等问题。随着Swift 5.5的发布,Apple引入了结构化并发(Structured Concurrency)和async/await语法,彻底改变了Swift中的异步编程范式。

2025-06-14 16:00:00 616

原创 Swift分布式任务与Actor模型实现原理深度剖析(16)

在Swift早期版本中,开发者主要依赖GCD(Grand Central Dispatch)和OperationQueue进行并发编程。虽然这些工具提供了高效的线程管理和任务调度能力,但在处理复杂并发场景时存在明显缺陷:

2025-06-14 16:00:00 463

原创 Swift异步编程(Async/Await)底层实现剖析(14)

在现代应用开发中,CPU密集型计算、网络请求、磁盘I/O等操作会阻塞主线程,导致界面卡顿甚至无响应。异步编程允许程序在执行耗时任务时不阻塞主线程,从而提升应用的响应性和用户体验。早期的异步编程主要通过回调(Closure)、GCD(Grand Central Dispatch)和操作队列(OperationQueue)实现,但这些方式存在回调地狱(Callback Hell)、代码难以维护等问题。

2025-06-14 14:00:00 158

原创 Swift GCD(Grand Central Dispatch)源码级剖析(13)

Grand Central Dispatch(GCD)是 Apple 开发的一个多核编程解决方案,作为 iOS/macOS 系统的核心组件,它提供了高效的任务调度机制。在 Swift 语言中,GCD 被进一步封装和优化,形成了一套符合 Swift 语言特性的 API。

2025-06-14 13:00:00 860

原创 Swift惰性求值与序列、迭代器源码解析(12)

Swift标准库中的序列是一个强大且基础的抽象概念。序列协议(Sequence)是整个集合操作的基石,它定义了一种能够产生一系列值的类型。让我们深入探究其源码实现。

2025-06-14 12:00:00 560

原创 Swift 函数式编程相关协议与算法源码解析(11)

函数式编程(Functional Programming, FP)是一种编程范式,它强调将计算视为函数的求值,避免使用共享状态和可变数据。函数式编程的核心思想包括:

2025-06-14 11:00:00 359

原创 Swift高阶函数底层实现深度解析(10)

在Swift中,高阶函数是指能够接受函数作为参数、返回函数或者同时具备这两种特性的函数。这种设计模式是函数式编程的核心特性,它允许将计算逻辑进行抽象和复用。

2025-06-14 10:00:00 414

原创 Swift 泛型编程的底层实现原理(8)

泛型是 Swift 编程语言中一项强大的特性,它允许开发者编写灵活且可复用的代码,而无需为不同的数据类型重复实现相同的逻辑。通过泛型,我们可以创建能够适用于多种类型的函数、类、结构体和枚举,从而提高代码的抽象程度和可维护性。

2025-06-14 08:00:00 603

原创 Swift闭包的实现与捕获机制解析(8)

Swift闭包在底层被表示为一个结构体,其基本定义如下:

2025-06-14 08:00:00 472

原创 Swift协议(Protocol)与扩展(Extension)源码剖析(7)

在Swift语言中,协议(Protocol)和扩展(Extension)是提升代码复用性、增强类型功能的重要特性。协议用于定义方法、属性、下标等接口规范,任何类、结构体、枚举只要遵循协议,就必须实现协议中定义的要求,它是实现多态和接口抽象的基础。扩展则可以在不修改原有类型源码的情况下,为类、结构体、枚举甚至协议添加新的功能,包括属性、方法、下标和构造器等,极大地提高了代码的扩展性和灵活性。

2025-06-14 07:00:00 461

原创 Swift 继承与多态的实现原理(6)

继承是面向对象编程中的核心概念之一,它允许一个类(子类)继承另一个类(父类)的属性和方法。在 Swift 中,继承是类(class)特有的功能,结构体(struct)和枚举(enum)不支持继承。Swift 中的继承遵循单继承原则,即每个类只能有一个直接父类。这种设计有助于保持代码的清晰性和可维护性,避免了多继承可能带来的菱形继承问题。

2025-06-11 23:45:00 1000 1

原创 Swift 类与结构体(5)

Swift 作为一门现代编程语言,提供了两种主要的自定义数据类型:类(Class)和结构体(Structure)。它们在语法上有很多相似之处,但在底层实现和内存管理上却有很大差异。理解这些差异对于写出高效、安全的 Swift 代码至关重要。

2025-06-11 21:30:00 563

原创 Swift可选类型(4)

Swift可选类型(Optional)是Swift语言的核心特性之一,它是一种特殊的枚举类型,用于表示一个值可能存在或不存在的情况。可选类型在Swift中被广泛使用,是Swift语言安全性的重要组成部分。

2025-06-11 19:00:00 1684

原创 Swift 字符串处理源码深度剖析(3)

在 Swift 中,字符串是一个值类型(结构体),其核心设计围绕着 Unicode 标准展开。Swift 的字符串不仅是简单的字符容器,更是一个精心设计的集合类型,能够高效处理各种 Unicode 编码形式。

2025-06-11 18:00:00 640

原创 Swift集合类型(Array、Dictionary、Set)源码分析(2)

Swift的集合类型是构建在泛型和协议之上的核心数据结构,其设计遵循了"以协议为中心"的编程范式。从源码角度看,所有集合类型都直接或间接遵循了`Sequence`协议,该协议定义了集合的基本迭代能力:

2025-06-11 17:00:00 857

原创 Swift基本数据类型底层实现深度解析(1)

Swift类型在内存中的布局遵循以下核心原则:- 值类型(如Int、Struct)直接存储数据- 引用类型(如Class)存储指向堆内存的指针- 元数据区存储类型信息和方法表- 引用计数区管理对象生命周期

2025-06-11 16:00:00 943

原创 Swift 视图控制器生命周期源码(42)

视图控制器(UIViewController)作为iOS开发的核心组件,负责管理应用界面的呈现与交互逻辑。其生命周期涵盖从创建到销毁的完整过程,理解这一过程对于开发高效、稳定的iOS应用至关重要。

2025-06-11 15:00:00 1459

原创 Swift 事件处理与响应链机制(41)

Swift 作为苹果生态系统的核心编程语言,其事件处理与响应链机制是构建高性能、交互友好应用的基础。这一机制不仅涉及用户界面的交互逻辑,还深入到系统底层的消息传递与处理流程。理解 Swift 的事件处理机制,对于开发者优化应用性能、解决复杂交互问题具有至关重要的意义。

2025-06-11 14:00:00 843

原创 Swift视图布局与Auto Layout(40)

UIView是iOS中所有可视元素的基类,它继承自UIResponder并封装了CALayer。在源码层面,UIView通过组合模式管理CALayer,其核心属性定义如下:

2025-06-11 13:00:00 696

原创 UIKit 框架(39)

UIKit 是 iOS 开发中构建用户界面的核心框架,它提供了丰富的类和接口,用于创建各种交互式的应用界面。从简单的按钮、标签到复杂的导航控制器、表格视图,UIKit 涵盖了 iOS 应用开发中界面构建的方方面面。其设计理念基于 MVC(Model-View-Controller)架构,将数据模型、视图呈现和逻辑控制进行分离,使开发者能够更高效地组织和管理代码。

2025-06-11 12:00:00 725

原创 Swift协议组合与条件协议扩展(38)

Swift的协议组合允许将多个协议组合成一个单一的类型约束。其语法形式为`Protocol1 & Protocol2 & ...`。从编译原理角度来看,协议组合在编译时会被转换为一个包含所有组合协议要求的临时协议。例如:

2025-06-11 11:00:00 1224

原创 Swift 协议扩展的特性与应用(37)

协议扩展(Protocol Extension)是 Swift 语言中一项强大的特性,它允许为协议添加默认实现,从而为遵循该协议的类型提供统一的行为。通过协议扩展,我们可以在不修改原有类型代码的情况下,为协议添加新的功能,实现代码复用和功能增强。

2025-06-11 10:00:00 626

原创 Swift 扩展(Extension)(36)

Swift 扩展(Extension)是一种强大的语言特性,允许开发者在不修改原始类型定义的情况下,为现有类型添加新功能。扩展可以应用于类、结构体、枚举、协议等几乎所有类型,甚至可以对系统内置类型进行扩展。本章将从基本概念入手,深入探讨 Swift 扩展的定义、特性及核心概念。

2025-06-11 09:00:00 1586

原创 Swift 泛型约束(35)

Swift 泛型约束是一种强大的语言特性,它允许在泛型类型、函数或协议定义中对类型参数施加限制,从而增强代码的安全性和灵活性。通过泛型约束,开发者可以确保类型参数满足特定的条件,例如遵循某个协议、是某个类的子类等。

2025-06-11 08:00:00 756

原创 Swift泛型类型(34)

Swift泛型是一种强大的编程特性,它允许开发者编写灵活、可复用的代码,同时保持类型安全。泛型类型(包括类、结构体和枚举)是Swift语言的核心组成部分,通过参数化类型,使代码能够处理多种数据类型而不需要重复实现。

2025-06-11 07:00:00 591

原创 Swift泛型函数的定义与使用场景剖析(33)

泛型是Swift语言的核心特性之一,它允许在编程时创建灵活且可复用的代码组件。泛型的核心思想是将类型参数化,即在定义函数、类、结构体或枚举时不指定具体的类型,而是在使用时通过类型参数来确定具体类型。这种方式使得代码能够处理多种类型,同时保持类型安全。

2025-06-10 23:45:00 792

原创 Swift泛型的基本概念与优势(32)

泛型(Generics)是Swift编程语言中一项强大的特性,它允许开发者编写灵活、可复用的代码,而无需关注具体的数据类型。泛型的核心思想是将类型参数化,通过类型参数(Type Parameters)来抽象化具体类型,从而实现代码的通用性。

2025-06-10 21:00:00 1491

原创 Swift自定义错误类型的深度剖析与源码级解析(31)

在Swift语言发展初期,开发者主要依赖于返回值和可选类型来表示错误状态。例如,使用`nil`表示操作失败,通过检查返回值判断是否发生错误:

2025-06-10 19:00:00 591

原创 Swift错误处理机制深度解析(30)

错误处理是编程语言中不可或缺的一部分,它直接影响代码的健壮性和可维护性。Swift从语言层面提供了完善的错误处理机制,通过`Error`协议、`try`/`catch`语法和`throws`关键字,构建了一套类型安全、层次分明的错误处理体系。与Objective-C相比,Swift的错误处理更加结构化,能够在编译时捕获更多错误,减少运行时崩溃的风险。

2025-06-10 18:00:00 970

原创 Swift 可选类型(29)

Swift 作为一门现代编程语言,其核心设计理念之一是安全性。可选类型(Optionals)正是这种安全性追求的重要体现。在许多传统编程语言中,如 C、Java 或 Objective-C,空值(NULL 或 nil)的处理一直是一个容易引发错误的问题。程序员常常需要在代码中插入大量的空值检查,否则可能会在运行时遇到空指针异常。

2025-06-10 17:00:00 811

原创 Swift可选类型的深度解析(28)

Swift的可选类型是对Optional枚举的语法糖,其核心定义如下:

2025-06-10 16:00:00 1603

原创 Swift 集合的遍历与高阶函数应用深度解析(27)

Swift 的集合类型主要包括 `Array`(数组)、`Set`(集合)和 `Dictionary`(字典),它们构成了数据处理的核心结构。`Array` 是有序的同类型元素集合,`Set` 是无序且元素唯一的集合,`Dictionary` 则以键值对的形式存储数据。这些集合类型均遵循协议导向编程(POP)原则,通过实现 `Collection` 协议及其相关子协议,统一了遍历、元素访问等操作的接口规范。

2025-06-10 15:00:00 942

原创 Swift 集合(Set)(26)

Swift 中的集合(Set)是一种无序且唯一的数据结构,它与数组(Array)和字典(Dictionary)共同构成了 Swift 标准库中的三大基本集合类型。集合的核心特性在于其元素的唯一性和无序性,这使得它在处理需要去重或无需关心元素顺序的场景中表现出色。本章将从基本概念入手,深入探讨 Swift 集合的定义、特性及核心概念。

2025-06-10 14:00:00 583

原创 Swift 字典(25)

Swift 中的字典(Dictionary)是一种无序的集合类型,用于存储键值对(key-value pairs)。每个键(key)在字典中必须是唯一的,并且可以通过键快速查找对应的值(value)。字典在 Swift 标准库中被广泛使用,是一种非常重要的数据结构。

2025-06-10 13:00:00 739

Android性能优化进阶

Android性能优化进阶详解

2025-04-09

Kotlin协程入门讲解

Kotlin协程入门讲解

2025-04-09

OkHttp框架原理分析

OkHttp框架原理分析

2025-04-09

AI大模型行入门教程讲解

AI大模型行入门教程讲解

2025-04-09

深入理解Java JVM原理

深入理解Java JVM原理

2025-03-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除