自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Veggie的博客

公众号「算法小学徒」号主

  • 博客(138)
  • 资源 (1)
  • 收藏
  • 关注

原创 面向任务的 Git 学习法

对于 Git 学习而言,通常枯燥的理论学习并不能帮助我们快速掌握它的使用,需要我们结合实践,才能更好地学会利用 Git 进行多人协作开发。本文就以任务的形式,来介绍 Git 命令的使用,希望在进行学习前,你已经有了些许理论基础。

2020-09-02 20:51:35 12765 1

原创 Swift 高阶函数详解(forEach、filter、map、flatMap、compactMap、reduce、sorted)

现在这篇关于高阶函数的介绍,它来了。内容主要是介绍 forEach、filter、map、flatMap、compactMap、reduce、sorted等 7 个函数的作用,以及他们的使用方式。本文可以当做字典按需查阅。

2023-10-24 23:59:44 885

原创 浅析 C 语言的共用体、枚举和位域

最近在尝试阅读一些系统库的源码,但是其中存在很多让我感到既熟悉又陌生的语法。经过资料查阅,发现是 C 语言中的共用体和位域。于是,趁着课本还没有扔掉,将一些相关的知识点记录在本文。

2023-08-05 23:30:46 421

原创 如果你想知道 Swift 的 KeyPath 特性,不妨看看这个

之前在工程里看到一个访问对象属性的写法,第一次看没理解,查资料发现是 Swift 的语法糖,这里更文做个简单的分享。

2023-07-24 02:21:41 298

原创 iOS - 在 UITextView 的光标处插入文字(详细版)

需求简述:需要在文本输入框的光标所在位置插入字符串,要求插入之后光标停留在插入的字符串之后。

2023-03-31 00:24:44 733 1

原创 LeetCode 第 91 场夜喵双周赛题解

这是 LeetCode 第 91 场夜喵双周赛题解,周赛时间在 2022-11-12。之前写一半就搁置了,后面觉得题目比较有意思,还是决定把它写完发出来。本次周赛题目主要涉及模拟、动态规划、BFS、DFS、枚举等知识点,非常推荐各位读者能亲自刷一遍。

2022-12-10 17:31:38 528

原创 LeetCode 第 54 场双周赛题解

这是 2021-06-12 的一场双周赛,这次周赛的前三道题相对简单,第四题如果没有做过表达式处理相关的题目,是比较难想到正确做法的。其中,比赛涉及到的知识点有模拟、枚举、前缀和、表达式求值和动态规划。

2022-12-10 17:04:54 388

原创 LeetCode 第 244 场周赛题解

这是 2021-06-06 的一场 LeetCode 周赛,本场周赛的题目相较而以往而言比较简单,基本上想到点上就可以做出来,主要涉及到矩阵的旋转、贪心、滑动窗口、前缀和、二分查找等知识点。

2022-12-10 17:04:15 498

原创 iOS 组件化之使用 Cocoapods 创建本地 Pod

之前在进行非组建化的项目开发时,发现每次进行文件级的更改时,都会改变项目中文件的内容。如果是在多人协作的场景下,会经常需要进行 Git 的冲突解决,一旦解决错误,就会导致项目无法运行。为了解决这个问题,我打将不同模块之间的隔离,从单纯的文件夹隔离改为 Pod 隔离,即将各模块都封装为本地 Pod。本文也是主要介绍如何使用 Cocoapods 创建本地 Pod,实现代码的 Pod 隔离。

2022-11-02 01:42:41 3127

原创 一份面向刷题的 C++ STL 使用指南

一直以来,我都是优先选择 C++ 作为刷算法题的语言,这并不是因为它的语法多么现代化,而是因为它出色的运行速度和具有封装了各种数据结构的 STL。本文主要介绍常见 STL 的使用,为有使用 C++ 刷题需求的朋友提供一份总结。

2022-09-14 00:11:51 507

原创 一文学会 C++11 Lambda 表达式

最近又开始用 C++ 写题了,在过程中发现对 Lambda 表达的写法有些生疏,想起以前说要写一篇 Lambda 表达式的博客,又考虑到平时刷题时 Lambda 表达式还挺常用,就借着这个机会总结一下吧。

2022-05-02 18:48:05 267

原创 iOS 准确获取 iPhone 状态栏、导航栏、TabBar高度,看这篇就够了

最近在项目开发的时候,发现项目提供的获取 「状态栏+导航栏高度」的方法,在 iPhone 12 系列机型上是错误的。解决了这个问题之后,决定做个简单的总结,于是有了这篇文章。

2022-04-10 23:35:13 38038 9

原创 Android Studio 中文显示方块□□问题解决

在设置中按照路径点开: Preference -> Appearance & Behavior -> Appearance,勾选上「 Use custom font : 」

2021-11-09 15:19:20 1784 2

原创 解决 VSCode 配置 tab 空格数 Dart 语言无效的问题

在经历了一段各种重启都无效的血压快速上升的阶段后,我在设置中看到了所下图所示内容。Dart 语言的代码编辑设置需要在 settings.json 文件中单独设置……

2021-11-02 15:47:40 1809 5

原创 有 OC 经验的程序员快速学习 Swift 语法

苹果官方推出 Swift 语言至今,已经过了 7 年之久,Swift 也更新到了 5.5 版本, 它的语法和 API 也趋向于稳定。最近闲来无事,决定开始研究这 iOS 开发编程语言的语法。因为之前有多门编程语言的使用经验,所以本文主要记录一些个人认为比较新奇的语法。

2021-10-26 14:43:07 4760 3

原创 iOS 多线程基础之 NSThread

通常在 iOS 中,有三种比较常见的方式实现多线程,分别是 NSThread,GCD 和 NSOperation。本文主要介绍它们当中使用频率较低的 NSThread。

2021-10-20 10:43:58 653

原创 iOS - 数据持久化之 FMDB 的使用

上一篇文章「iOS - 使用 SQLite 数据库实现数据持久化」,介绍了如何使用 sqlite3 操作 SQLite 数据库实现增删改查。但是在代码编写的过程中,我们发现 sqlite3 需要调用大量的 C 语言函数,需要进行各种 C 语言类型到 OC 对象的转换,这会带来很多使用上的不便。于是,经过查找发现了基于 sqlite3 封装的 FMDB,它能够较大程度地简化我们的代码,也就是本文将要介绍的内容。

2021-09-30 11:37:58 621

原创 iOS - 使用 SQLite 数据库实现数据持久化

数据库也是客户端开发中常用的一种数据持久化手段,本文主要介绍在客户端开发中常用的数据库 SQLite,结合一个简单的理解讲解它引入、创建到后面 CRUD 的操作。

2021-09-13 18:28:53 473

原创 iOS - 沙盒文件操作指南

最近在学习数据持久化相关的内容,文件作为 iOS 客户端开发中一种常见的数据保存方式,自然也是应该学习的内容,本文就来简单介绍文件相关的一些知识。

2021-09-07 23:52:13 1262

原创 iOS - 数据的归档和反归档

本篇文章主要介绍利用 NSKeyedArchiver 和 NSKeyedUnarchiver 对数据进行归档和反归档的操作。

2021-08-19 00:10:19 703 2

原创 iTerm2 的配置与美化

最近换了一台新的 MacBook Pro ,需要重装电脑上的常用软件。为了将 ITerm2 DIY为自己喜欢的样子,花了不少时间。为了方便下次再配置,特地写下此文进行记录。

2021-08-09 23:24:15 12191 6

原创 CocoaPods 的安装与卸载

最近换了个新电脑,需要重新配置一遍开发环境,于是借此机会记录一下 CocoaPods 的安装过程,方便以后再次重装的时候,可以按照这次的安装流程来搞。同时,也希望可以借此帮助到有安装 CocoaPods 需求的人。

2021-08-06 11:11:43 1129

原创 KVO 从基本使用到原理剖析

本文 KVO 的基本使用,到其底层原理的解释,最后结合面试题进行实践。

2021-05-28 18:32:01 424 1

原创 iOS - 解决设置导航栏按钮图片变色的问题

今天在利用以下代码给导航栏按钮设置图片时,发现原本是黑色的切图显示成了蓝色。由于过程坎坷,写下本文记录。

2021-03-23 19:17:44 10233

原创 iOS - 设置应用屏幕旋转方向、禁止横屏

最近写软件的 UI 发现,屏幕旋转会影响布局的展示,由于开发的周期比较短,来不及做精细的布局适配,所以我决定禁止应用竖屏展示。处理过程如下文所示,希望对他人也有帮助。

2021-03-16 15:40:51 13737

原创 iOS - 手动添加新的字体

最近在一个日记软件,发现系统的默认字体过于丑陋,于是有了更改应用字体的想法。完成操作的过程中踩了一些小坑,写下此文记录一下,希望能对后人有所帮助。

2021-03-13 22:37:53 13822 1

原创 实用的 GitHub 仓库搜索技巧

我们经常在 GitHub 上学习开源项目,但是 GitHub 众多的仓库总是会让我们眼花缭乱,不能在较短的时间里找到自己想要的项目。 这里分享一下我刚学到的 GitHub 仓库搜索技巧,在记录所学的同时,希望也对你有所帮助。

2021-02-28 18:54:52 13370

原创 iOS - 利用 UIBezierPath 绘制圆弧

最近要写个「会话气泡」,由于没有找到合适的背景图片,所以需要直接用 UIBezierPath 进行绘制。期间用到之前还不太熟悉的绘制圆弧相关知识,于是写下此文进行记录。

2021-02-21 12:34:17 13596

原创 解决 VSCode 编写 C++11 代码报红问题

今天在写 C++ 代码的时候用上 C++11 的特性,然后发现 VSCode 虽然可以编译通过,但是会在相应位置报红……

2021-02-09 23:39:46 22059 12

原创 Markdown 数学公式

个人写博客的时候,喜欢在文中加上一些数学公式,以提高文章 B 格。但是,我又经常会忘记部分公式的写法,就不得不上网查找,由于网上资料的质量参差不齐,经常会浪费不少时间进行检索。我认为这部分时间是可以被优化掉的,于是我决定写一篇自己的 Markdown 数学公式,以方便自己检索,同时也能帮助找有相同需求的人。

2021-02-01 23:54:35 13549

原创 iOS - iPhone手机刘海屏判断

最近写毕业设计的时候,发现 iPhoneX 之后的刘海屏手机顶部状态栏高度和底部TabBar高度和原来不一样了,这就需要我们对刘海屏手机做单独的 UI 布局适配了

2021-01-31 20:36:21 17614

原创 Shell - 脚本实现控制台一键编译运行 C++ 代码

由于电脑内存不足将 Clion 给卸载了,现在只能用 Vim 来编写 C++ 代码了。但是每次写完代码之后都需要经过「编译g++ test.cpp」和「执行./a.out」两步操作,感觉用起来比较繁琐。于是,我有了用 Shell 将这两条命令合成一个脚本简化执行的想法。

2021-01-29 17:22:27 14757

原创 iOS - NSUserDefaults 实现数据的持久化保存

在开发的时候,我们经常会遇到一些场景,需要我们持久化保存一些数据。通常我们会将相对结构化的数据保存在远端或者本地的数据库中,而对于**相对零散**的变量数据,保存在数据库中是不太合适的。这时,接下介绍的NSUserDefaults就可以派上用场了~

2021-01-21 16:16:57 12346

原创 P1744 采购特价商品(SPFA求最短路径模板)

spfa,满分速递!

2021-01-19 00:36:08 12093

原创 P1262 间谍网络 (Tarjan 求强连通分量)

Tarjan 求强连通分量,100分

2020-12-27 17:45:59 12140

原创 P3531 [POI2012]LIT-Letters(求逆序对)

给出只包含大写字母的字符串 A 和字符串 B,每次可以交换字符串 A 两个相邻的字符,求 A 变成 B 的最小交换次数。

2020-12-27 17:32:09 12109

原创 Xcode 新项目删除 storyboard 文件

根据 storyboard 的优劣考虑,我决定采用纯代码的方式进行 UI 界面的开发。我需要删除新建项目中的 storyboard 文件,以著此文记录。

2020-11-29 16:10:37 12738

原创 Xcode 11 新建项目适配 iOS 13 以下设备

Xcode 11 及以后版本新建项目都会多了一对 SceneDelegate 类文件,这个 SceneDelegate 主要是给 iPadOS 用来做多窗口支持的,而且是仅在 iOS 13 及以上设备才支持,如果想让 App 支持低系统版本设备,就需要进行适配操作,删除新增的 SceneDelegate 相关内容。

2020-11-29 14:49:01 12639 1

原创 团体程序设计天梯赛 L2 题目合集

目前 L1 的题目已经刷完,打算在赛前刷完 L2 的题目。本来想 L2 的题目都写个相对详细的题解的,但是由于时间已经很紧张了,就只能像来记录 L1题目的形式来 L2 的题解了,让我们都好好加油吧。

2020-11-27 23:36:00 14395

原创 团体程序设计天梯赛 L1 题目合集

发现自己还能再参加一次天梯赛,在高兴之余,决定把在赛前将所有的天梯赛真题过一遍,希望自己可以取得理想的成绩。但是由于时间问题,而 L1 的题目相对比较简单,没有必要每一题都写详细的题解,就以文本来记录 L1 的题解吧。

2020-09-30 01:25:00 19437 3

空空如也

空空如也

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

TA关注的人

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