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