工具
文章平均质量分 65
iOS1501101533
我亲爱的方括号不见了
展开
-
iOS开发 UILabel长按弹出复制选项-UIContextMenuInteraction
UILabel通过UIContextMenuInteraction实现长按弹出复制选项。原创 2024-03-22 18:03:24 · 518 阅读 · 0 评论 -
iOS开发 触觉体验(UIFeedbackGenerator)的使用
示例使用场景,并不是每个场景都需要使用,可根据App使用体验自行决定何时、何地使用。在iOS10.0及以后可用。原创 2022-07-15 14:32:00 · 1283 阅读 · 0 评论 -
iOS GCD定时器的使用
GCDTimer类,使用时导入该类即可。原创 2022-07-15 14:09:21 · 908 阅读 · 0 评论 -
iOS开发调试技巧之NSLog日志导出
开发过程中,调试必不可少,而日志则是一个重要的调试信息。当直接运行代码进行调试时,可以在Xcode控制台实时看到日志信息。然而当脱离了Xcode控制台,比如,安装到手机上时,这时我们该如何去查看日志呢?其实可以把日志写入到一个文件中,然后通过文件查看日志信息。把日志写入文件,主要是利用C语言的freopen()函数进行重定向,将写往stdout、stderr的内容重定向到我们指定的文件中去。原创 2020-09-09 17:31:35 · 2641 阅读 · 0 评论 -
iOS 获取“关于本机”中软件版本的编译版本号
iOS获取iPhone“关于本机”中软件版本号。原创 2022-04-20 14:50:53 · 1359 阅读 · 0 评论 -
iOS开发 检测网络是否真正可用(真正可以访问互联网)
如何去检测网络是否真正可用呢?其实可以通过Apple提供的特定域名来测试网络连通性。向这些特定域名发送HTTP请求,假如能收到正确的响应结果,则认为网络真正可用;否则,认为网络不可用。原创 2022-03-30 13:48:10 · 4727 阅读 · 0 评论 -
iOS开发 NSPredicate的使用方法
1. 谓词(NSPredicate)是什么?Xcode的开发者文档中的解释:A definition of logical conditions used to constrain a search either for a fetch or for in-memory filtering.我的翻译:NSPredicate是一个逻辑条件的定义,这个逻辑条件用来约束一个搜索条件,而这个搜索条件用于数据的获取或内存中数据的过滤。它其实就是一个过滤器。原创 2021-11-20 09:52:04 · 1859 阅读 · 0 评论 -
Regex 正则表达式中几个符号([ ] ^ {} ?: ?= ?)的概念
1. 方括号```[ ]```只能匹配一个字符,称为:字符类 或 字符簇。其中连字号```-```在```[ ]```中使用时表示一个字符的范围。示例:```objectivec[a-z] // 匹配所有的小写字母[A-Z] // 匹配所有的大写字母[a-zA-Z] // 匹配所有的字母[0-9] // 匹配所有的数字[0-9\.\-] // 匹配所有的数字、句号、减号[ \n\f\r\t\v] // 匹配所有的空白字符(空格、换行原创 2021-11-20 09:15:34 · 5870 阅读 · 1 评论 -
iPhone~iPhone15屏幕尺寸和分辨率的相关知识 ( DPI vs PPI pt vs px)
1. DPI 和 PPI 是什么?DPI ---- 最初用于衡量打印物上每英寸的点数密度,就是表示你的打印机可以在一英寸内打印多少个点。DPI值越小,打印的内容越不清晰。当DPI的概念迁移到计算机屏幕上的时候,就应该称之为PPI 。同理:PPI就是表示计算机屏幕上每英寸可以显示的像素点的数量。2. pt 和 px 又是什么?pt ---- 代表点,是一个标准的长度单位,定义上:1 pt = 1 / 72 英寸,英寸跟我们所熟悉厘米、米一样,所以我们可以明确的指出1pt的长度是多少。原创 2021-11-20 09:09:22 · 15199 阅读 · 0 评论 -
快速排序(Quick Sort)
// main.c#include <stdio.h>int array[10] = {8, 4, 9, 7, 3, 6, 2, 0 ,1, 5};void quicksort(int left, int right) { if (left >= right) { return; } int i = 0, j = 0, temp = 0, reference = 0; reference = array[le原创 2021-04-09 15:26:14 · 134 阅读 · 0 评论 -
冒泡排序(Bubble Sort)
int arr[5] = {3, 2, 1, 4, 0};int temp = 0; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4 - i; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } }}原创 2021-04-07 10:46:08 · 107 阅读 · 0 评论 -
三个导航栏Item的区别(leftBarButtonItem/backBarButtonItem/backItem)
1> self.navigationItem.leftBarButtonItem2> self.navigationItem.backBarButtonItem3> self.navigationController.navigationBar.backItem(UINavigationItem有三种:backBarButtonItem leftBarButtonItem rightBarButtonItem)> 1. 如果设置了leftBarButtonI原创 2021-04-07 09:47:42 · 585 阅读 · 0 评论 -
iOS开发中的四种GCD
GCD的核心:将操作/任务放到队列中。原创 2021-04-07 09:43:03 · 294 阅读 · 0 评论 -
如何使用Mac自带“预览”应用制作一寸、两寸等照片
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-03-06 16:27:43 · 15677 阅读 · 2 评论 -
iOS14 定位问题导致WiFi名称获取不到的情况
1. 问题在 iOS14 中如果不允许精确定位,那么就获取不到WiFi的名称了。我的项目中获取WiFi名称的方式:+ (NSString *)wifiName { NSArray *interfaces = CFBridgingRelease(CNCopySupportedInterfaces()); id info = nil; for (NSString *interfaceName in interfaces) { info = (__bridge_tra原创 2020-10-27 11:06:02 · 4708 阅读 · 4 评论 -
iOS开发之Xcode中版本号&Build版本号自增
1. 背景在iOS项目打包时,有两个版本号,一个是Version,另一个是Build。2. 问题发现在Version相同的情况下,若Build还相同,则上传到App Store Connect时会提示已有该版本,不能再次上传。3. 问题解决通过脚本让Build自动加一。原创 2020-08-12 15:57:49 · 3920 阅读 · 2 评论 -
vim的相关命令及使用
vi 是 Visual Interface 的简称,是Linux中最经典的文本编辑器。vim是从vi发展出来的一个文本编辑器,支持代码补全、编译、错误跳转等方便编程的功能,在程序员中被广泛使用,被称为“编辑器之神”。原创 2020-08-12 10:08:08 · 696 阅读 · 1 评论 -
MAC地址了解(根据设备MAC地址查询生产厂商信息)
1. MAC地址是什么?MAC地址(Media Access Control,介质访问控制)是烧录在网卡(Network Interface Card,NIC)里的,也叫硬件地址,是由48bit位,也即6字节的16进制数组成的。例如:F0FE6B4F4001其二进制格式为:11110000 11111110 01101011 01001111 01000000 00000001从右到左方向看去 <----- ????,其中:0~23位(低24位),也即对应的:4F4001,是由厂家自己原创 2020-08-12 10:05:15 · 8000 阅读 · 2 评论