自定义博客皮肤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 欢迎关注

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

原创 后退N帧协议总结

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

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

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

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

2025-06-11 23:45:00 770

原创 Swift 类与结构体(5)

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

2025-06-11 21:30:00 333

原创 Swift可选类型(4)

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

2025-06-11 19:00:00 1053

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

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

2025-06-11 18:00:00 427

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

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

2025-06-11 17:00:00 493

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

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

2025-06-11 16:00:00 656

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

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

2025-06-11 15:00:00 933

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

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

2025-06-11 14:00:00 661

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

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

2025-06-11 13:00:00 534

原创 UIKit 框架(39)

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

2025-06-11 12:00:00 434

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

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

2025-06-11 11:00:00 721

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

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

2025-06-11 10:00:00 362

原创 Swift 扩展(Extension)(36)

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

2025-06-11 09:00:00 1381

原创 Swift 泛型约束(35)

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

2025-06-11 08:00:00 488

原创 Swift泛型类型(34)

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

2025-06-11 07:00:00 363

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

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

2025-06-10 23:45:00 562

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

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

2025-06-10 21:00:00 1296

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

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

2025-06-10 19:00:00 540

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

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

2025-06-10 18:00:00 674

原创 Swift 可选类型(29)

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

2025-06-10 17:00:00 734

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

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

2025-06-10 16:00:00 1302

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

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

2025-06-10 15:00:00 773

原创 Swift 集合(Set)(26)

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

2025-06-10 14:00:00 519

原创 Swift 字典(25)

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

2025-06-10 13:00:00 664

原创 Swift数组(24)

Swift数组是一种有序、可重复的数据集合,用于存储相同类型的元素。作为Swift标准库的核心组件之一,数组提供了丰富的操作方法和高效的性能。理解数组的内部实现原理,对于编写高效、安全的代码至关重要。

2025-06-10 12:00:00 867

原创 Swift协议的定义、遵循与扩展机制剖析(23)

协议(Protocol)是Swift语言中最为核心的抽象机制之一,它定义了一组可以被其他类型遵循的方法、属性和其他要求。协议不提供具体的实现,而是作为一种契约,要求遵循者必须满足其定义的规范。协议的核心作用包括:

2025-06-10 11:00:00 842

原创 Swift多态性实现原理(22)

多态性(Polymorphism)是面向对象编程的核心概念之一,它允许不同类型的对象通过相同的接口进行交互。在编程语言中,多态性通常分为编译时多态(静态多态)和运行时多态(动态多态)。编译时多态主要通过函数重载和模板实现,而运行时多态则通过继承和方法重写实现。

2025-06-10 10:00:00 1107 1

原创 Swift类型转换与类型检查的深度解析(21)

Swift的类型系统是其语言设计的重要基石,具备强类型、类型推断、泛型支持和协议驱动等特性。与C语言的弱类型系统不同,Swift在编译期会严格检查类型的一致性,确保程序的安全性。

2025-06-10 09:00:00 973

原创 wift类的继承机制与重写规则深度解析(20)

继承是面向对象编程的核心特性之一,它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码复用和层次化设计。在Swift中,继承是类区别于结构体和枚举的重要特性之一,因为后两者不支持继承。

2025-06-10 08:00:00 831

原创 Swift 访问控制修饰符的源码级别分析(19)

Swift 提供了一套细致的访问控制机制,用于管理代码模块和类型的可见性。这一机制通过访问控制修饰符实现,允许开发者精确控制哪些代码可以访问特定的类、结构体、枚举、属性、方法等实体。与其他语言相比,Swift 的访问控制更加灵活且层次分明,能够更好地支持模块化编程和信息隐藏原则。

2025-06-10 07:00:00 1658

原创 Swift构造函数与析构函数的深度解析(18)

Swift为所有值类型提供了默认的成员逐一构造器,即使没有显式定义构造函数。以下是结构体的内存布局与构造过程分析:

2025-06-09 23:45:00 617

原创 Swift属性与方法的声明和调用深度解析(17)

Swift语言在属性与方法的设计上,遵循严格的类型安全与面向协议编程(POP)理念。属性作为类、结构体、枚举中存储值的元素,被分为存储属性(Stored Property)和计算属性(Computed Property);方法则是绑定在类型或实例上的函数。这种划分使得数据存储与逻辑处理职责分离,比如在一个表示车辆的结构体中,`model`(型号)作为存储属性保存静态数据,`currentSpeed`(当前速度)结合计算属性与方法,实现速度状态的动态管理。

2025-06-09 21:00:00 622

原创 Swift 类与结构体概述(16)

Swift 作为一门现代编程语言,在类型系统设计上提供了类(Class)与结构体(Struct)两种基本的复合类型。这两种类型在语法上有相似之处,但在底层实现和设计理念上却有本质区别。本章将从基本概念入手,深入探讨 Swift 类与结构体的定义方式和核心区别。

2025-06-09 19:00:00 849

原创 Swift 尾随闭包与捕获列表(15)

Swift 作为一种现代化的编程语言,提供了丰富的函数式编程特性,其中尾随闭包和捕获列表是两个重要的概念。尾随闭包允许开发者以更简洁的语法编写闭包,而捕获列表则提供了对闭包捕获变量方式的精确控制。这两个特性在 Swift 代码中广泛使用,理解它们的原理和应用对于编写高效、安全的 Swift 代码至关重要。

2025-06-09 18:00:00 527

原创 Swift闭包概述(14)

Swift闭包是一种自包含的代码块,可以在代码中被传递和使用。它们是Swift语言中实现函数式编程的核心组件,同时也是处理异步操作、回调机制和数据转换的重要工具。闭包在语法上简洁灵活,在底层实现上却有着复杂而精巧的设计。本文将从源码级别深入分析Swift闭包的概念、基础语法、内存管理和实现原理。通过对这些内容的详细解析,开发者可以更深入地理解闭包的工作机制,从而更加高效、安全地使用闭包进行编程。

2025-06-09 17:00:00 907

原创 Swift函数重载与默认参数值实现原理(13)

函数重载(Function Overloading)是面向对象编程中的一个重要特性,它允许在同一作用域内定义多个名称相同但参数列表不同的函数。在Swift中,函数重载不仅可以基于参数的类型、数量和顺序进行区分,还可以通过参数标签和返回值类型(在某些情况下)进行区分。函数重载的主要作用包括:

2025-06-09 16:00:00 960

原创 Swift函数的定义、参数与返回值设置:源码级深度剖析(12)

其中,“函数名”用于标识函数,遵循标识符命名规则;“参数列表”可包含零个或多个参数,每个参数由参数名称、参数类型组成;“-> 返回值类型”指定函数执行完成后返回的数据类型,若函数无返回值,则可省略该部分。例如一个简单的加法函数:

2025-06-09 15:00:00 1389

原创 Swift跳转语句的底层实现原理(11)

控制流是编程语言的核心机制之一,它决定了程序执行的顺序和路径。在复杂的软件系统中,合理的控制流管理能够提高代码的可读性、可维护性和执行效率。Swift语言通过提供多种跳转语句,如`break`、`continue`、`return`和`throw`,满足了不同场景下的控制流需求。

2025-06-09 14:00:00 947

原创 Swift 循环结构深度解析(10)

在 Swift 语言中,循环结构是实现程序流程控制的基础组件之一。通过循环,开发者可以高效地执行重复任务,处理集合数据,实现算法逻辑。Swift 提供了多种循环方式,其中 **for 循环** 和 **while 循环** 是最基本且最常用的两种结构。它们在语法形式、底层实现和应用场景上各有特点,理解这些差异对于编写高效、安全的 Swift 代码至关重要。

2025-06-09 13:00:00 1369

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关注的人

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