• Day8-RunLoop 构成与线程保活

    一、RunLoop 的构成RunLoop 是基于 CFRunLoopRef(Core Foundation 层)构建的,NSRunLoop 是其 Foundation 层的封装。核心组成如下: 1. RunLoop 对象 每条线程都有唯一的一个 RunLoop 对象(主线程默认创建,子线程需手动创建)。 2. RunLoopMode RunLoop 在任一时刻只能运行在一种模式下。 常见模...
  • Day7-合并两个有序链表

    🔗 LeetCode 21 - Merge Two Sorted Lists 📌 题目描述将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 12输入: l1 = [1,2,4], l2 = [1,3,4]输出: [1,1,2,3,4,4] 💡 解题思路 使用 递归 或 迭代 方法逐步将两个链表中较小的节点连接起来; 递归写法...
  • Day7-Runtime&Block

    RuntimeiOS Runtime,通常称为Objective-C Runtime,是iOS开发中一个至关重要的组件。它是一套底层的C语言API,为Objective-C的动态特性提供了强大的支持。本文将对iOS Runtime进行深入的解析,从基本概念到主要功能,再到实际应用和注意事项,全方位地展示这一技术的魅力。 一、Runtime基本概念Runtime,即运行时,指的是程序在运行过程...
  • Day6-删除有序数组中的重复项

    🔗 LeetCode 26 - Remove Duplicates from Sorted Array 📌 题目描述给你一个 升序排列 的数组 nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 O(1) 额外空间的条件下原地修改输入数组。 示例: 12输入: nums = [1,1,2]输出: 2, nums = [1,...
  • Day6-Runtime 实战技巧

    一、定义Runtime 是什么? Objective-C 的 Runtime 实际上是 C 语言的一套函数和类库,用于支持 Objective-C 编程语言的动态性,包括类的创建、方法调用、属性访问等。 二、Runtime 实战技巧1.Method Swizzling(方法交换)1. 什么是 Method Swizzling? 定义:在程序运行时,交换两个方法实现的过程。 本质:修改方...
  • Day5-两数之和 II - 输入有序数组

    🔗 LeetCode 167 - Two Sum II - Input Array Is Sorted 📌 题目描述给定一个已按升序排列的整数数组 numbers 和一个目标值 target,请你在数组中找出两个数,使得它们的和为目标值 target,并返回这两个数的下标。 注意: 返回的答案是一个 1 索引的数组。 假设每个输入只对应一个答案,且你不可以重复使用数组中的元素。 ...
  • Day5-Objective-C Runtime 基础结构

    Objective-C Runtime 基础结构Objective-C 运行时系统(Runtime)是 Objective-C 语言的核心部分,它在程序运行期间负责管理类、对象、方法调用等行为。 主要的结构体和组件包括: 1. objc_class(类结构体)123456789101112struct objc_class { Class isa; ...
  • Day4-有效的字母异位词

    🔗 LeetCode 242 - Valid Anagram 📌 题目描述:给定两个字符串 s 和 t,编写一个函数来判断 t 是否是 s 的字母异位词。 字母异位词的定义:如果两个字符串中的字母出现的频率相同且字符完全一致,那么这两个字符串是字母异位词。 💡 解题思路:• 将两个字符串 s 和 t 的字母出现频次统计出来,若两个字符串的字母频次完全相同,则它们是字母异位词。 • 通...
  • Day4-Block 内存管理 & 循环引用分析

    Block 内存管理 & 循环引用分析1. Block 的结构体本质Block 在底层其实是一个结构体: 12345678struct Block_literal { void *isa; // 指向 Block 类对象 int flags; // 标志位(是否有 copy/di...
  • Day3-有效的括号

    🔗 LeetCode 20 - Valid Parentheses 📌 题目描述给定一个只包括 '(', ')', '{', '}', '[', ']' 的字符串 s,判断字符串是否是有效的。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序...
13456