- 博客(20)
- 收藏
- 关注
原创 iOS UICollectionView cell的动态大小调整
UICollectionView应该是我们使用的列表类控件中,使用频率仅次于UITableView的控件了,在很多场景下,需要动态的计算并修改UICollectionViewCell的宽度、高度,而代理方法中有没有提供这种方法。
2022-12-06 19:36:07
2315
原创 iOS UITextView文本高度计算
我们在用到UITextView控件时,有很多场景下需要动态计算文本的高度、宽度,例如:可折叠收起的cell。这里提供一种普遍的计算方法,可直接复制使用。
2022-12-06 19:19:17
1591
原创 iOS UIButton图文调整
UIButton的Image默认在左边,title默认在右边。并且在iOS系统低版本SDK中并没有很好用的API来控制两者的相对位置和两者的间距问题,这里提供一种解决方案,可以直接拷贝到项目中使用。如果出现图片、文案显示不全,则可能UIButton的高度、宽度不符合要求,需要您重新计算调整一下。
2022-12-06 17:53:50
664
原创 算法——LRU缓存算法设计
要求:请你设计并实现一个满足 LRU (Least Recently Used 最近最少使用) 缓存 约束的数据结构。 函数 get 和put 必须以 O(1) 的平均时间复杂度运行。思路:采用 字典 + 双向链表
2022-11-16 11:52:24
426
原创 Swift5中String、数组相互转换
1、采用 Array(str)、String(array) 方法2、采用String.components(separatedBy: " ")、[String].joined(separator: " ")3、采用String.index
2022-11-15 19:35:25
4360
原创 iOS底部导航条
iOS底部导航条的判断一些低版本的iOS设备上是没有导航条的,所以在进行界面开发的时候需要向下兼容低版本的iOS设备,因此需要判断当前设备是否支持导航条。
2022-11-11 16:12:15
1106
原创 算法——正则表达式匹配(动态规划)
正则表达式匹配> 例如:字符串abaaaa能被表达式 a.a* 匹配 > 解释:.字符是能充当任意字符的,这里充当字符 b,而*字符可以使前面一个字符重复0-n次 > 这里算法采用动态规划思想
2022-11-11 14:07:43
306
原创 算法——验证IP地址合法性
描述 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址 IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。比如,172.16.254.1;同时,IPv4 地址内的数不会以 0 开头。比如,地址 172.16.254.01 是不合法的。IPv6 地址由8组16进制的数字来表示,每组表示 16 比特。这些组数字通过 (":")分割。比如, 2001:0db8:85a3:0000:0000:8a2e
2022-11-08 16:56:09
710
原创 算法——归并排序算法
归并排序大概思路是分治思想,将数组按照折半来逐级划分,直到只剩下一个元素(此时肯定是有序的),然后再将有序数组进行逐个合并,就得到了排好序的数组了,因此叫做归并排序。
2022-11-04 14:49:53
385
原创 算法——快速排序算法
快速排序算法以“快”著称,以其出色的时间复杂度奉为业界经典排序算法,面试也是经常出现的,如果你可以在面试中手写快速排序算法,那将是一个耀眼的加分项快速排序算法并不难,它是利用了**二分查找**与**分治**的思想,通过分治划分问题的界限,从而转化为更小的问题来解决。
2022-11-04 11:50:06
450
原创 算法——(树)BM41:输出二叉树的右视图
题目描述:根据二叉树的前序、中序遍历,输出二叉树的右视图例如:前序:[1,2,4,5,3]中序:[4,2,5,1,3]
2022-11-03 11:45:16
484
原创 iOS开发集成framework、Bundle文件获取
有些时候,我们开发的SDK并不需要对外隐藏,那么就可以将源码都打包给对方,也可以集成cocopods仓库,供外部使用。但有些时候,出于版权等原因,我们提供的代码只希望对方能够正常使用,却不希望对方看到内部的实现细节,就像苹果官方一样,给我们开发者提供的API只能看到.h文件以及相关的文档,这就是我们今天要实现的,也是苹果官方提供给我们的.framework。
2022-11-01 19:18:40
2151
原创 华为机试——找出数组中不同的两个数字
(进阶)已知数组中数字都两两相同,只有两个不同,找出这两个数字这里也提供三种方法,前两种和之前相似,第三种需要熟练异或运算。
2022-11-01 16:28:44
292
原创 华为机试——找出数组中不同的数字
已知数组中数字都两两相同,只有一个不同,找出该数字这里提供三种方法,前两种比较容易想到,第三种需要了解异或运算。
2022-11-01 15:20:17
436
原创 iOS开发之RunLoop
RunLoop始终贯穿着我们的整个开发生涯,理解RunLoop有助于我们及时发现项目中的bug,同时RunLoop也是面试中的要点,但就是过于繁杂,学起来不够系统。大家可以参考着这张图自己查漏补缺的进行系统的归纳学习。
2022-11-01 10:36:10
86
原创 iOS中Block的底层原理
本文作者主要参考Kazuki Sakamoto,Tomohiko Furumoto著,黎华译的《Objective-C高级编程:iOS与OS X多线程和内存管理》一书。在平时工作中遇到不少关于Block的相关困惑,比如:Block的循环引用问题。于是在反复阅读了该书籍后,决定总结一篇关于Block的相关文章。如果还想深入了解Block,作者建议直接阅读上述书籍。由于作者水平有限,文章难免存在纰漏,恳求各位读者不吝赐教。
2022-11-01 10:31:23
473
原创 关于UITableView和UICollectionView的Cell重用总结
关于UITableView和UICollectionView的Cell重用总结。主要梳理cell的注册、复用和自定义的相关代码。
2022-11-01 09:08:16
699
原创 ios开发pod库 头文件引入问题
ios开发pod库 头文件引入问题在开发pod私有库的时候,基本都会用到很多三方库的其他文件,而私有库的每个文件都逐个的去#import引入的话,费时费力、整体代码不简洁。
2022-10-31 17:42:20
986
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人