首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
后端
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
精通 Swift 并发:深入探索 async/await 和 Actor 带来的结构化并发
随着 Swift 5.5 引入 `async/await` 和 Actor,iOS 应用的并发编程范式发生了革命性变化。本文将为资深 iOS 开发者深入剖析 Swift 结构化
Flutter Dio、GetX 深入解析与状态管理对比
目录 一、Dio 深入解析 - 1.1 Dio 是什么 - 1.2 核心架构 - 1.3 底层原理 - 1.4 拦截器机制 - 1.5 请求流程全链路 - 1.6 高级特性原理
苹果iMessage群发系统,突破文案限制包落地群发iMessage短信全解析。
一、传统iMessage发送的痛点解析 在探讨解决方案前,我们先梳理传统iMessage发送模式下的核心痛点,这也是“系统+虚拟机”方案诞生的核心原因: 二、核心解决方案:iMessage发送系统+虚
Swift 全面深入指南
第一部分:Swift 基础与底层原理 1. 值类型 vs 引用类型 1.1 核心区别 维度 值类型 (Value Type) 引用类型 (Reference Type) 代表 struct, enum
13-10.【OC】【性能】在工程实践中,如何优化 OC / Swift 混编项目的性能?
在工程实践中,OC/Swift 混编项目的性能优化不仅关乎算法,更关乎桥接成本(Bridging Cost) 、编译效率以及二进制体积。 以下是针对混编项目的五大核心优化维度: 1. 降低桥接层的调用
13-9.【OC】【性能】Swift 值类型与引用类型在性能上的取舍原则是什么?
在 Swift 开发中,值类型(Struct/Enum)与引用类型(Class)的选择不仅仅是语法习惯,更是一场关于 内存分配成本、线程安全 与 引用计数负担 的性能博弈。 以下是支撑性能取舍的四大核
13-8.【OC】【性能】Runtime 动态特性(消息转发 / Swizzle)对性能有何影响?
Runtime 的动态特性是 Objective-C 的灵魂,但从性能角度来看,它们本质上是用“预测性”换取“灵活性” 。无论是消息转发还是方法交换(Swizzle),都会在不同程度上破坏 CPU 的
13-7.【OC】【性能】objc_msgSend 与直接函数调用性能差异如何量化?
要量化 objc_msgSend 与直接函数调用的性能差异,我们需要从时钟周期、指令流水线以及编译器优化这三个维度进行拆解。 在现代 Apple 芯片(如 M3/M4)上,这种差异通常被压缩在**纳秒
13-6.【OC】【性能】大量临时对象产生时,autoreleasepool 如何影响性能?
在 Objective-C 和带有 @objc 标记的 Swift 代码中,autoreleasepool 是平衡内存压力与处理性能的关键杠杆。当大量临时对象产生时,它对性能的影响主要体现在 内存峰值
13-5.【OC】【性能】__strong / __weak / __unsafe_unretained 的性能差异是什么?
在 ARC 的内存管理体系中,这三种修饰符代表了三种截然不同的指令路径和运行时开销。 其性能差异的核心在于:为了保证安全性,系统究竟在后台做了多少次原子操作和哈希表查找。 1. __strong:标准
13-4.【OC】【性能】ARC 插入 retain / release 会带来什么开销?
ARC(自动引用计数)虽然在代码层面免去了手动管理内存的痛苦,但在底层二进制层面,它并非免费。ARC 的开销主要体现在 CPU 指令执行、原子操作锁竞争、以及编译器优化抑制这三个方面。 以下是 ARC
13-3.【OC】【性能】在大量方法调用场景下,如何分析消息发送是否成为性能瓶颈?
在处理高频、大量的 Objective-C 方法调用时,单纯猜测 objc_msgSend 是瓶颈往往是不准确的。我们需要通过定量测量、缓存命中率分析以及汇编级追踪来确定瓶颈所在。 以下是针对消息发送
13-2.【OC】【性能】objc_msgSend 的调用成本到底有多高?
关于 objc_msgSend 的调用成本,我们不能只看一个绝对的数值,而要从它的查找链路、汇编优化以及与静态派发的对比三个维度来看。 简单来说:在缓存命中的情况下,它的开销极低(几纳秒);但在缓存未
13-1.【OC】【性能】Objective-C 的性能瓶颈通常出现在什么地方?如何优化?
Objective-C 作为一门极度依赖 Runtime(运行时) 的动态语言,其性能瓶颈主要源于其“高度动态化”带来的开销。相比于 C++ 或 Swift 的静态派发,Objective-C 许多决
12-10.【OC】【Swift+OC 混编】Swift 与 OC 混编项目中最常见的坑有哪些?
在 Swift 与 Objective-C 的混编项目中,开发者最常遇到的“坑”往往隐藏在动态性、内存管理语义以及编译器自动翻译的细节中。 以下是整理出的混编项目五大高频陷阱及解决方案: 1. 命名冲
12-9.【OC】【Swift+OC 混编】OC 调用 Swift 方法时,是否存在 retain / release 异常?
这是一个非常敏锐的问题。简单来说:在正常桥接(@objc)的情况下,不会出现 retain/release 异常。 这是因为 Swift 编译器在生成 Thunk(存根函数) 时,已经通过一套名为 “
12-8.【OC】【Swift+OC 混编】Swift ABI 稳定后,对 OC 调用有什么影响?
Swift ABI(应用二进制接口)稳定是 Swift 发展史上的分水岭。虽然它主要解决了 Swift 库之间的兼容性问题,但对于 Objective-C 调用 Swift 的底层链路也产生了深远的影
12-7.【OC】【Swift+OC 混编】OC 能访问 Swift enum / struct 吗?
简单直接的回答是:不能直接访问,但可以通过“桥接”变通。 Objective-C 的底层架构(Runtime)是基于 C 语言指针和固定内存布局的,而 Swift 的 struct 和 enum(尤其
12-6.【OC】【Swift+OC 混编】Generated Header 是如何生成的?
在 Swift 与 Objective-C 的混编体系中,Generated Header(即著名的 ProjectName-Swift.h)并不是一个简单的文本拷贝,而是由 Swift 编译器(sw
12-5.【OC】【Swift+OC 混编】Swift protocol 标记 @objc 后,在 OC 端如何调用?
当你在 Swift Protocol 前加上 @objc 后,它在 Objective-C (OC) 端的使用体验几乎与原生的 NSProtocol 一致。由于编译器生成了桥接元数据,OC 可以通过标
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30