- 博客(194)
- 收藏
- 关注
原创 【设计者模式】单例模式
作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。单例特别:(1)单例模式只能有一个实例。(2)单例类必须创建自己的唯一实例。(3)单例类必须向其他对象提供这一实例。
2024-03-03 17:21:38
1217
原创 MediaPlayer error(-38, 0) 异常处理
PlaybackCompleted 状态转移 : 如果设置了循环模式SetLooping(), 那么播放完毕之后会重新进入Started状态;若没设置循环,则调用 OnCompletion.onCompletion() 回调方法, MediaPlayer 会进入 PlaybackCompleted 状态;也可以在该状态直接调用start()进入Started状态。
2023-05-30 18:05:06
3158
原创 WAV 格式和音频裁剪、转码处理
标识块对齐的内容(数据块的调整数),播放软件一次处理多少个该值大小的字节数据,以便将其用于缓冲区的调整,也标识一帧的字节数。数,其中 8 表示 8bit,16 表示 16bit,32 表示 32bit。PCM 音频样本总字节数 + 44 − 8。:声道数,1 表示单声道,2 表示双声道。:编码格式,即压缩格式,1 表示。之后剩下的长度,一般为 16。:采样位宽,即每个采样点的。为标识,波形格式标志。
2023-05-30 18:02:17
1426
原创 匿名内部类访问局部变量是否需要 final 修饰(Java Kotlin 对比)
匿名内部类访问局部变量是否需要 final 修饰(Java Kotlin 对比)
2023-02-07 19:46:33
691
原创 ARouter 之注解 @JvmField 和 @Autowired
ARouter 注解 @JvmFiled 和 @Autowired 的作用
2022-10-26 10:23:02
1708
原创 Charles 之将网络请求指向本地文件
文章目录1、 Tools -> Map Local -> 添加接口 —— 本地文件2、右键接口 -> Map Local1、 Tools -> Map Local -> 添加接口 —— 本地文件在本地文件中,保存对应接口的 mock 数据2、右键接口 -> Map Local
2022-03-18 11:44:38
1297
原创 Swift 之自定义 Toast
代码:import Foundationimport UIKitenum Toast { static func toast(at view: UIView, message: String, completion: (() -> Void)? = nil) { let toastLabel = MGSLabel(frame: .zero) toastLabel.text = " \(message) " toastLabel.numberOfLines =.
2022-03-07 16:57:02
3479
原创 Swift 之横竖屏切换
文章目录1、核心方法 viewWillTransition2、如何在横竖屏切换时更改 UI 细节?3、后续问题发现(1) 如果在两个类中使用 viewWillTransitionToSize 不起作用1、核心方法 viewWillTransition/// 切换横竖屏时,重设子view布局public override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordi
2022-03-04 09:55:42
5783
原创 Swift 之 UIView 的圆角设置
view.layer.cornerRadius = 11.5左上、右上圆角view.layer.maskedCorners = CACornerMask(rawValue: CACornerMask.layerMinXMinYCorner.rawValue | CACornerMask.layerMaxXMinYCorner.rawValue)全部圆角view.layer.maskedCorners = CACornerMask(rawValue: CACornerMask.layerM
2022-03-02 10:00:46
1091
原创 Swift 之如何传递 UIView 的点击事件给 ViewModel
文章目录1. UIButton2. UIView1. UIButton/// UIViewControllerUserViewModelInput(buttonOnTapped: button.rx.tap.asSignal())/// ViewModelstruct UserViewModelInput { let buttonOnTapped: Signal<()>}2. UIView/// UIViewControllerprivate let tapGest
2022-03-01 14:02:52
2772
原创 Swift 之添加点击事件
文章目录1. UIButton2. UIView1. UIButton/// 添加点击事件button.addTarget(self, action: #selector(leftButtonOnClick), for: .touchUpInside)/// 点击事件@objc private func leftButtonOnClick() { dismiss(animated: true, completion: nil)}2. UIView扩展方法:extension
2022-02-24 21:20:56
2254
原创 Swift 之嵌套闭包
闭包 A 里嵌套闭包 B 时需要注意⚠️的点:不要在闭包 B 里使用闭包 A 里的局部变量,会导致 weak self 为 nil解决办法:let viewController = dependencies.friendListViewController { friendListViewController, shareInfo in friendListViewController.dismiss(animated: true) { [weak self] () -> Void.
2022-02-24 16:46:06
999
原创 算法思想-二叉树
文章目录一、可出算法二、解决1. 二叉树的深度2. 按之字形顺序打印二叉树3. 二叉搜索树的第k个节点一、可出算法二、解决1. 二叉树的深度递归public int TreeDepth(TreeNode root) { if(root == null) return 0; int leftDepth = TreeDepth(root.left); // 左子树深度 int rightDepth = TreeDepth(root.ight); // 右子树深度
2022-02-19 11:06:22
949
原创 Swift 之二维码的生成与识别
文章目录@[toc]1、二维码的生成2、二维码的识别1、二维码的生成let filter = CIFilter.init(name: "CIQRCodeGenerator")filter?.setDefaults()/// 链接转换let data = qrUrl.data(using: .utf8)filter?.setValue(data, forKeyPath: "inputMessage")let outputImage = filter?.outputImage/// 展示if
2022-02-18 20:30:19
1746
原创 IOS 之错误记录
文章目录1、This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.1、This a
2022-02-15 16:18:23
2050
原创 Xcode 之真机调试
1、Showing Recent Messages There are no accounts registered with Xcode. Add your developer account to Xcode参考资料:https://blog.youkuaiyun.com/u010053768/article/details/50458193解决办法:在 Xcode 的偏好设置的【Accounts】中添加 Apple ID 账号2、Showing All Messages No account for t
2022-02-14 20:01:05
4721
原创 为什么 Java 中不允许多继承?
文章目录前言1、为什么?2、钻石问题是什么?总结前言思考现在既定事实背后的原因1、为什么?多继承会导致“钻石问题”2、钻石问题是什么?总结
2022-02-10 20:24:02
752
原创 算法思想-链表
文章目录前言一、可出算法二、解决1. 从尾到头打印链表2. 反转链表3. 合并两个排序的链表4. 两个链表的第一个公共节点5. 链表中环的入口节点6. 链表中倒数最后 K 个节点7. 复杂链表的复制8. 删除链表中重复的节点前言温故知新一、可出算法二、解决1. 从尾到头打印链表从尾到头打印链表2. 反转链表public ListNode ReverseList(ListNode head) { if(head == null || head.next == null)
2022-01-19 20:37:07
848
原创 链表-从尾到头打印链表
从尾到头打印链表A:直接反转了当前链表,再对反转后的链接进行操作。时间复杂度O(n),空间复杂度O(1)public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { if(listNode == null) return new ArrayList<Integer>(); ListNode pre = null, cur = listNode, next = null; wh
2022-01-19 16:49:15
664
原创 Xcode 之快捷键
文档内:command + F:搜索command + option + F:全局搜索command + option + shift + F:全局替换command + G:搜索下一处command + shift + G:搜索上一处command + l:定位哪一行command + ⬆️:文档首行,效果等同 control + Acommand + ⬇️:文档末,效果等同 control + Ecommand + ⬅️:行首command + ➡️:行末代码:esc:显示代码提
2022-01-19 16:10:12
934
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人