- 博客(31)
- 收藏
- 关注
原创 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
原创 Masonry
Masonry 是 iOS 开发中最常用的自动布局第三方库,比原生 简洁太多。作用:在 里添加:然后执行:2. 导入头文件三、基本使用规则必须先 addSubview,再设置约束关闭 即:关闭 “自动把 frame 转换成自动布局约束” 的功能约束用 方法链式语法:2. 居中3. 距离父视图边距4. 相对另一个控件布局5. 宽高比例6. 优先级五、完整示例:一个 View 居中 + 固定大小六、多控件嵌套示例(常用)七、更新约束 / 重置约束1. 更
2026-04-23 18:38:19
269
原创 + 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
原创 (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
原创 算法学习笔记1
参数设计:C 语言中需显式传入数组长度(length),因数组名作为参数时会退化为指针,无法直接获取长度。溢出处理:计算mid时使用而非,避免left和right过大时的整数溢出。区间一致性:每种实现严格遵循 “区间定义→循环条件→边界更新” 的一致性(如左闭右闭区间必须用且更新时跳过mid返回值:未找到目标时返回-1(基础查找)或有效索引(边界查找,需在调用时判断是否超出数组范围)。
2025-11-02 16:28:58
941
原创 关于大小端
高位字节与低位字节 高位字节(MSB):在多字节数据中,整体权重最大的字节;(如在0x1234中12所占字节权重最大,为MSB); 低位字节(LSB):在多字节数据中,整体权重最小的字节;(如上例中的34所占字节权重最小,为LSB); 对于0x12345678字节权重由高到低是0x12,0x34,0x56,0x78;大端与小端(又称"网络字节序"与"主机字节序")大端:在存储数据时低地址内存存储高位字节,符合人类读写顺序;
2025-10-24 15:13:01
367
原创 一面题题解
*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关注的人
RSS订阅