自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 push与present页面跳转

push和present是iOS得两种页面推出方法,我们来辨析一下两种方法的不同。

2026-06-21 16:23:46 175

原创 (OC)UI学习——网易云仿写

对于网易云的仿写主要是对首页与我的页面及设置界面仿写,其中较为新颖的就是黑夜模式的实现。

2026-06-14 14:21:00 245

原创 iOS OC NSUserDefaults

@end} @end} @end} @end@end@end容器内部只能存原生类型,嵌套Model必崩,必须归档后再存储。

2026-06-07 15:19:03 339

原创 UICollectionView基础

import < UIKit / UIKit . h > @interface MyCollectionViewCell : UICollectionViewCell // 暴露给外面用的控件 @property(nonatomic , strong) UILabel * titleLabel;@end。

2026-05-31 14:17:15 210

原创 自定义UITableViewCell

创建继承自 UITableViewCell 的自定义子类(.h + .m 文件)在延展中声明所有私有 UI 控件(图片、标签、按钮等)重写纯代码专属初始化方法编写子控件初始化、添加到父视图的方法编写 AutoLayout 原生约束布局代码封装专属数据赋值方法,隔离 UI 与数据逻辑控制器中注册 Cell 复用标识数据源方法中复用 Cell、赋值展示数据我将以一个具体例子来讲解如何自定义cell并使用。

2026-05-24 14:40:39 372

原创 OC UI ——UIGestureRecognizer 手势识别

系统提供的 5 个手势可以满足大部分场景,但如果需要实现特殊手势(如滑动轨迹识别、手势密码、双指拖拽),就需要自定义手势。创建 UIGestureRecognizer 的子类;重写触摸事件方法(touchesBegan:withEvent:、touchesMoved:withEvent:、touchesEnded:withEvent:);在触摸事件中,分析触摸动作的特征(如轨迹、手指数量);根据特征,切换手势的状态(如识别成功则设置为 Ended);绑定回调方法,执行业务逻辑。

2026-05-17 12:55:05 403

原创 ZARA仿写

对于首页一个重要的点就是无限轮播图,对于实现无限轮播图我的思路是插入两张哑图,即在第一张图前面插入最后一张图的假图,在最后一张图后面插入第一张图片的假图,滚动到假图再跳回真图。,先将原始数组的最后一张图添加到头部,再添加全部原始图片,最后将原始数组的第一张图添加到尾部,形成。**头像更改我则是用代理传值:**在编辑页列表中增加一行“改变头像”,点击后进入。,当编辑页点击保存时,通过 block 将新数据回传,并刷新当前页面的标签。**构建哑页代码:**创建可变的。**创建cell视图:**创建。

2026-05-16 14:48:23 193

原创 UI----多界面传值

在iOS开发过程中,多界面之间的传值时最核心、最常用的需求,因此我们需要掌握一些多界面传值的方法,本篇博客将介绍5种方法供以参考学习。

2026-05-07 20:05:31 415

原创 Block基础

对象 A 强引用 BlockBlock 内部强引用了对象 A→ 两者互相抓住不放,谁都不释放,造成内存泄漏。Block = 可保存、可调用、可传参的代码段返回值 (^名称)(参数) = ^{}修改变量用__block内部用 self 必须__weak防循环引用实际开发主要用于回调、异步、遍历。

2026-04-28 21:45:37 324

原创 UI----4

管理,底部显示标签栏,点击切换不同页面(类似微信底部:首页、通讯录、我)。

2026-04-26 18:33:57 269

原创 Masonry

Masonry 是 iOS 开发中最常用的自动布局第三方库,比原生 简洁太多。作用:在 里添加:然后执行:2. 导入头文件三、基本使用规则必须先 addSubview,再设置约束关闭 即:关闭 “自动把 frame 转换成自动布局约束” 的功能约束用 方法链式语法:2. 居中3. 距离父视图边距4. 相对另一个控件布局5. 宽高比例6. 优先级五、完整示例:一个 View 居中 + 固定大小六、多控件嵌套示例(常用)七、更新约束 / 重置约束1. 更

2026-04-23 18:38:19 269

原创 UI----3

用于接收用户(账号、密码、搜索框等)。需要遵守。

2026-04-20 18:27:53 247

原创 UI----2

BOOL,获取当前状态。

2026-04-12 14:47:13 53

原创 UI----1

UILabel是可以在屏幕上显示文字的一种视图。

2026-04-06 16:20:48 49

原创 + load:initialize方法

load 和 +initialize 是 OC 类初始化的两大核心方法,本质区别在于调用时机和调用机制+load:早起加载、非懒加载、直接调用,适合启动时必须执行的轻量级操作;:懒加载、消息转发、继承性强,适合类首次使用前的初始化。

2026-03-30 12:06:55 392

原创 Foundation框架

字符串作用:1、创建字符串。2、读取文件或网络URL来 初始化 字符串,或者将字符串写入文件或URL。3、获取字符串长度,即可获取字符串字符个数,也可获取字符串包括的字节个数。4、获取字符串中的字符或字节,即可获取指定位置的字符,也可获取指定范围的字符。5、获取字符串对应的C风格字符串。6、连接、分隔、查找、替换、比较字符串。7、对字符串中的字符进行大小写转换。代码NSMutableString:可变字符串NSMutableString字符串的字符串序列是可更改的;

2026-03-29 17:20:22 362

原创 面向对象(下)

二、处理对象打印对象和方法当执行时,会自动调用方法,返回一个若不重写,答应出来是:重写:输出结果为:方法:如果两个变量是基本类型,且都是数值类型,则变量值相等;对于指针类型,只有保存地址相同才返回真。比较两个类型上没有继承关系的指针变量时会警告。重写:NSString已经重写了NSObject的isEqual:方法判断两个字符串的字符序列相同满足的条件:类别:为现有类添加方法不需要创建子类接口部分:定义类时使用类名必须时该类中不存在的类,而定义类别时使用的类名必须是已有的类定义类

2026-03-22 16:20:43 209

原创 面向对象(上)

1.组成:接口部分和实现部分。

2026-03-15 16:52:50 389

原创 (OC) 类和对象

如果没有属性,你需要手动为每个成员变量写两个方法:一个取值方法(getter),一个赋值方法(setter)。是 Objective-C 的一大特性,它封装了成员变量的访问,并允许我们声明各种特性来控制生成的方法行为。开头,通过类名调用,不能访问实例变量(因为没有实例),常用于创建对象(工厂方法)或获取全局信息。开头,必须通过对象实例调用,用于操作该对象的实例变量。开头的实例方法,用于设置对象的初始状态。的指针,用于调用父类的方法,保证父类部分先完成初始化。),代表 “正在初始化的这个对象”。

2026-03-08 16:39:48 368

原创 图的基础概念操作与遍历

概念:图是一种非线性数据结构,由顶点和边组成,,因而更为复杂。常见类型是否有方向:无向图与有向图所有顶点是否连通:连通图和非连通图我们还可以为边添加“权重”变量,从而得到有权图。

2025-12-14 17:10:24 269

原创 堆的基础原理与代码实现

特性:最底层节点靠左填充,其他层的节点都被填满。我们将二叉树的根节点称为“堆顶”,将底层最靠右的节点称为“堆底”。对于大顶堆(小顶堆),堆顶元素(根节点)的值是最大(最小)的。

2025-12-07 14:03:31 794

原创 二叉树的基础操作

None二叉树类型完美二叉树:完美二叉树所有层的节点都被完全填满。在完美二叉树中,叶节点的度为0,其余所有节点的度都为2;若树的高度为h,则节点总数为2h∗2−1,呈现标准的指数级关系,反映了自然界中常见的细胞分裂现象。完全二叉树:完全二叉树仅允许最底层的节点不完全填满,且最底层的节点必须从左至右依次连续填充。请注意,完美二叉树也是一棵完全二叉树。完满二叉树:完满二叉树除了叶节点之外,其余所有节点都有两个子节点。

2025-11-30 02:18:16 1034

原创 KMP算法

核心优势:效率高:时间复杂度 O (n+m),主串仅遍历一次;无回溯:主串指针不回退,适合处理大文本、流数据;适用性广:可用于字符串匹配、关键词提取、语法分析等场景。关键难点:理解前缀函数的定义(最长相等前后缀);掌握 next 数组的计算逻辑(贪心 + 回退);理解 nextval 数组的优化原理(避免无效回退)。

2025-11-23 16:31:10 873

原创 C语言宏替换与宏定义高级用法

1.无参数宏:简化常量与重复代码#define 宏名 替换文本核心用途:定义常量:代替const,更灵活(无类型检查,编译前替换)#define PI3.14159261024//缓冲区大小#define ERR_MSG "内存分配失败"注意事项:替换文本末尾不要加多余分号,否则会导致逻辑错误,如2.带参数宏:实现"宏函数"#define 宏名(参数) 替换文本核心优势:比普通函数执行快(无函数调用开销,直接替换)示例:1.求两数最大值(a) :(b))(a) :(b))(a) :(b))

2025-11-19 16:18:49 1014 1

原创 初步学习队列和栈

定义:队列是一种遵循 “” 原则的线性数据结构。图示:1000。

2025-11-16 18:13:29 261

原创 C语言文件操作

进行文件操作的头等大事就是定义文件指针变量FILE* fp;

2025-11-09 17:11:30 1010

原创 算法学习笔记1

参数设计:C 语言中需显式传入数组长度(length),因数组名作为参数时会退化为指针,无法直接获取长度。溢出处理:计算mid时使用而非,避免left和right过大时的整数溢出。区间一致性:每种实现严格遵循 “区间定义→循环条件→边界更新” 的一致性(如左闭右闭区间必须用且更新时跳过mid返回值:未找到目标时返回-1(基础查找)或有效索引(边界查找,需在调用时判断是否超出数组范围)。

2025-11-02 16:28:58 941

原创 链表及单链表基础

​ 在头文件<stdlib.h>中有函数。

2025-11-02 16:14:14 250

原创 关于大小端

高位字节与低位字节​ 高位字节(MSB):在多字节数据中,整体权重最大的字节;(如在0x1234中12所占字节权重最大,为MSB);​ 低位字节(LSB):在多字节数据中,整体权重最小的字节;(如上例中的34所占字节权重最小,为LSB);​ 对于0x12345678字节权重由高到低是0x12,0x34,0x56,0x78;大端与小端(又称"网络字节序"与"主机字节序")大端:在存储数据时低地址内存存储高位字节,符合人类读写顺序;

2025-10-24 15:13:01 367

原创 二面题题解

本题核心是简单的数值比较,关键在于理解 “严格大于” 的含义(即不包含等于的情况)。

2025-10-23 20:59:52 614

原创 一面题题解

*1. **​ 使用sizeof计算int类型和char类型所占内存数分别为4和1,于是;​ 定义数组字符串str,使用strlen函数计算出str数组中元素数为4,于是取str数组中第一个元素即G;​ 同二计算出b=25;计算字符串大小c=20(含\0);;

2025-10-23 20:48:40 995

空空如也

空空如也

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

TA关注的人

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