- 博客(31)
- 收藏
- 关注
原创 计算器仿写总结
计算器是继天气预报仿写后的第二个仿写项目,笔者在这之前阅读了AFNetworking部分源码,对于其中一个处理类只对外提供一个接口,一个模块只由对应类负责,层层调用的写法十分感兴趣,于是在本次仿写中尝试使用了这一模式;计算器仿写本身也在算法和字符串处理上对自身的能力做了补全。
2026-08-01 18:00:22
196
原创 天气预报仿写总结
天气预报作为暑期第二个项目,把网络请求和UI结合,复杂程度较前几个项目更甚有之,在构思项目结构方面花了不少的时间,也学习到了很多新的UI知识。
2026-07-25 21:49:39
203
原创 iOS——关键字static, const, extern回顾
通过前面C语言的学习,我们知道要想在一个函数内反复访问函数里的变量,并且让这个值能记住上一次的结果,最简单的方式就是把这个变量定义在外面,这样做的逻辑是将原本作用域在函数内部的变量调整为作用域为包括函数外,所以函数访问的时候能对上一次的值进行操作。我们知道,全局变量在整个文件中都是可见的,比如我们在A.m中声明一个全局变量,在B.m中可以通过extern关键字取出来使用(具体后面进行讲解),但是如果我们不想这样,只是想要在当前文件访问的时候,就可以在变量前面加上static修饰。
2026-06-21 13:25:22
295
原创 iOS——MVC架构学习
让每部分只做自己该做的事。层职责不该做的事Model存数据、整理数据操作 UI、直接更新视图View显示数据、传递用户操作处理交互逻辑、直接改数据ller`:负责把数据填进 Cell,管理整个列表的逻辑让每部分只做自己该做的事。层职责不该做的事Model存数据、整理数据操作 UI、直接更新视图View显示数据、传递用户操作处理交互逻辑、直接改数据Controller协调 Model 和 View把太多业务逻辑堆在这里。
2026-05-10 11:42:26
473
原创 iOS——无限轮播图学习
1. 初始显示的是复制页而不是第一张原因是在里直接取,此时布局还没完成,拿到的是 0,没有生效。套一层推到下一帧就好了2. 滑到头尾卡住,不循环多半是忘了设,或者@interface那里没有声明遵守协议,导致根本没有被调用3. contentView 宽度没被撑开,所有图片叠在一起最后一张图片忘了加这条约束,系统不知道有多宽,布局就乱了。这条约束是专门用来"收口"的,不能漏4. 页面退出后 Timer 还在运行没有在里调。Timer 持有self的强引用,不主动invalidate。
2026-05-05 18:53:14
260
原创 iOS——三种界面间传值方式
A 把"拿到数据后要做什么"这段逻辑打包成一个 Block,在 push 的时候交给 B。B 拿到数据后直接调用这个 Block,Block 里的逻辑就会执行,由于block的封存特性,可以对a的属性进行操作。B 需要把数据传回去的时候,调用协议方法,A 在协议方法里接收数据并更新界面。可以把它理解为一种"委托关系":B 不认识 A 是谁,只知道有一个对象遵守了某个协议,需要传数据时就通过协议调用,A 就会被这个调用触发。push 到 B 之前,直接给 B 的属性赋值,B 在。完成,一旦 push 执行,
2026-04-19 20:44:50
410
原创 【iOS】 AutoLayout初步学习
本文介绍了AutoLayout的基本概念和使用方法。AutoLayout是一种通过约束规则自动计算视图布局的机制,解决了不同屏幕尺寸的适配问题。其核心是将布局描述为数学方程,通过解方程确定视图的frame。文章详细讲解了约束的创建方法,包括关闭自动转换、约束参数说明以及约束激活方式,并提供了一个居中显示蓝色方框的代码示例。关键点包括:约束方程的基本结构、确定视图位置所需的必要条件、避免约束冲突的方法,以及如何使用NSLayoutConstraint类手动创建和激活约束。
2026-04-12 12:22:07
483
原创 iOS——UI入门
在Xcode里面创建出来第一个iOS应用的时候,明显能感觉到界面中的文件变多了很多在UI学习中,我们主要需要关注这两个文件:ViewController和SceneDelegate这是一个创建时自动生成的类,用来展示初始界面,当然它和我们自定义出来的一个类没什么不同,本质只是它自动成为根视图控制器在后面的学习中,可以通过更改根视图控制器来更换初始的界面是谁,在刚开始学习时,可以把它理解为,将代码写在这个文件的时候对UI元素的布局都在这里。
2026-04-06 15:53:45
447
原创 【OC】3G考核出现的问题总结
自定义类想要实现copy方法需要先遵守协议//.h文件@end//.m文件@end自定义类去重需要重写当前类的hash方法和isEqual方法,这是因为set的去重逻辑是先判断hash值是否相等,如果相等,再使用isEqual进行确认以先前的User类为例return YES;if (!return NO;@end。
2026-03-29 12:02:49
211
原创 OC语言学习——详解类别、扩展与协议
当然,这并不代表类别就不能使用@property,其实是可以的,但是由于类别只追加方法,不改变内存的特性,这样跟在property后面的变量,只会生成它的getter和setter方法。我们可以看到在上面简单的演示中,新建的类别的.h文件需要在已有类的类名基础上用括号括出新增的类别名。同时又因为没有生成iver(带下划线前缀的内部变量),所以一般会使用runtime给出的。,底层用哈希表将它实现),来代替原本的iver的功能。可以将它理解为在绑类外部的一个挂载变量的单独区域。
2026-03-15 00:30:24
378
原创 堆排序详解
堆排序顾名思义,是使用“堆”这种数据结构的思想,快速地访问数组中最大的元素,并且以类似二分的方式维护最大值的一种排序方式堆排序并非使用了堆这个数据结构,而是使用数组来实现,用下标来维护对应二叉树的性质前面提到过需要先找到最后一个有子节点的父节点的下标,然后从这个下标开始,逐个向前进行调整我们前面推到过,lchildfather∗21lchildfather∗21rchildfather∗22rchildf。
2025-12-14 14:48:59
1032
原创 差分数组与前缀和算法解析
前缀和与差分数组都是以创建新数组的形式将原数组的一些性质单独拿出来,以达到更快的解决问题的办法应用的场景多为求区间变化方面,思路都是先求差分,再对差分数组的区间端点进行操作,免去遍历多次的困扰,最后再利用前缀和转换为原数组。
2025-11-22 21:21:30
1184
原创 从原理到实现讲清二叉树的所有基础操作和遍历方式
带你从原理到应用彻底理解二叉树的各项操作,内含可实现代码,各种遍历方式以及avl,红黑树的概念介绍,搞不懂二叉树?看完本文带你入门二叉树。
2025-11-08 20:03:15
1257
原创 3G_problem_slotion2
已知甲感应距离d1,感应起始时间t1,丙感应距离d2,起始时间t3,两人此时相距d,已等待t时间,输入顺序为。给定一个单词,求出单词中出现频次最高的单词和频次最低的单词的次数并作差,若结果为素数则判定为好单词。本题考查了数组的读入,遍历,绝对值函数等知识点,是对数组和循环知识点的混合考验,我的解法使用了。对于给定的n个元素组成的数组,判断其两两之差组成的新数组是否涵盖1~n-1中的所有整数。,问题的核心在于判断回文数的算法,此算法的关键又为如何求出一个与原数字左右反向的。,之后再与原数字进行比较。
2025-10-26 00:05:50
653
原创 从原理入门讲清大小端存储含义及区别
大/小端存储的概念大端存储&小端存储大/小端存储的概念在真正了解大小端的概念前,让我们来捋一捋有关和,对于我们理解大小端的本质有着巨大的帮助。
2025-10-24 08:31:42
1054
原创 3G_problem_slotion2
已知甲感应距离d1,感应起始时间t1,丙感应距离d2,起始时间t3,两人此时相距d,已等待t时间,输入顺序为。给定一个单词,求出单词中出现频次最高的单词和频次最低的单词的次数并作差,若结果为素数则判定为好单词。本题考查了数组的读入,遍历,绝对值函数等知识点,是对数组和循环知识点的混合考验,我的解法使用了。对于给定的n个元素组成的数组,判断其两两之差组成的新数组是否涵盖1~n-1中的所有整数。,问题的核心在于判断回文数的算法,此算法的关键又为如何求出一个与原数字左右反向的。,之后再与原数字进行比较。
2025-10-20 18:54:02
782
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1