摘要: 本地存储 替代 userDefault (也有iOS版本) MMKV:https://github.com/Tencent/MMKV 日志 logger:https://github.com/orhanobut/logger EventBus 跨页面传值 类似iOS的通知 https://githu 阅读全文
posted @ 2024-06-21 09:56 黄增松 阅读(248) 评论(0) 推荐(1)
摘要: 备注: windows的Alt相当于mac的option 1. stless快速创建StatelessWidget、stful就快速创建StatefulWidget。 2. option+Enter 可以单击选中任何一个widget,然后按option + Enter,就可以查看对该widget进行 阅读全文
posted @ 2023-09-25 17:09 黄增松 阅读(332) 评论(0) 推荐(0)
摘要: 1.flutter加载iOS的图片或者iOS加载flutter的图片 https://pub-web.flutter-io.cn/packages/ios_platform_images 2.网络请求库 https://pub-web.flutter-io.cn/packages/dio https 阅读全文
posted @ 2023-07-21 11:20 黄增松 阅读(1096) 评论(0) 推荐(0)
摘要: 一:GitHub新建仓库,并clone到本地 1、注册GitHub账号并登录 2、右上方点击+,新建仓库(仓库名字(Repository name)、仓库权限(Public)、readme、license) 创建完成如下图: 3、检出仓库 新建一个文件夹SDK: 打开终端: 将FireRadarSD 阅读全文
posted @ 2017-12-22 19:19 黄增松 阅读(738) 评论(0) 推荐(0)
摘要: 代码调试好了开始打包成sdk,下面是将要打包的FRSDK代码(FRSDK.h暴露在外面有别人调用) 1.创建新工程(Xcode File-New-Project) 2.把下面的红色框的东西移除 3.将原工程里调试好的FRSDK代码copy到此工程后为下图 4.接下来我们选择出来需要暴露出来的头文件 阅读全文
posted @ 2017-12-12 18:55 黄增松 阅读(666) 评论(0) 推荐(0)
摘要: 代码调试好了开始打包成sdk,下面是将要打包的FRSDK代码(FRSDK.h暴露在外面有别人调用) 1.创建新工程(Xcode File-New-Project) 2.把下面的红色框的东西移除 3.将原工程里调试好的FRSDK代码copy到此工程后为下图 4.接下来我们选择出来需要暴露出来的头文件 阅读全文
posted @ 2017-10-19 16:21 黄增松 阅读(4682) 评论(0) 推荐(0)
摘要: 2015年8月24号,是一个让我难以忘记的日子。就在那天,我跳槽进入了一个新的公司。新公司给我的印象不错:第一,有180人左右,工作稳定,(这样的IT公司,也不算小了);第二,工作环境也不错,有单独的活动区域;第三:公司福利也不错,六险一金,半年三天带薪病假。工作一年内就有5天年假;第四:给我的待遇 阅读全文
posted @ 2016-06-01 17:24 黄增松 阅读(6762) 评论(141) 推荐(23)
摘要: 明白了,你是想问面试中关于使用 Cursor、Claude Code 等 AI 编程助手的考察点,而不是机器学习本身的题。这块2026年大厂 iOS/移动端面试已经比较常见了,主要考察你对工具的理解深度和使用方法论,整理如下: 🤖 iOS 面试中 Cursor / Claude Code AI 工 阅读全文
posted @ 2026-06-22 20:01 黄增松 阅读(23) 评论(0) 推荐(0)
摘要: 下面我用 GetX 再把同一个 Counter 示例实现一遍, 并且会和 Provider / Riverpod 做直观对比,方便你选。 ✅ GetX 版 Counter 示例(完整可用) 一、添加依赖 pubspec.yaml dependencies: flutter: sdk: flutter 阅读全文
posted @ 2026-06-17 16:25 黄增松 阅读(7) 评论(0) 推荐(0)
摘要: 下面用 Flutter + Riverpod 2.x/3.x 最精简的方式带你跑通一个计数器 Demo,涵盖安装、定义 Provider、读/写状态三个核心步骤。 一、添加依赖 pubspec.yaml: dependencies: flutter: sdk: flutter flutter_riv 阅读全文
posted @ 2026-06-17 16:11 黄增松 阅读(14) 评论(0) 推荐(0)
摘要: 下面给你一个超简版 Flutter Provider 使用示例,适合刚上手、只想先跑起来的人。 一、添加依赖 pubspec.yaml dependencies: flutter: sdk: flutter provider: ^6.1.2 运行: flutter pub get 二、创建一个 Pr 阅读全文
posted @ 2026-06-17 10:11 黄增松 阅读(5) 评论(0) 推荐(0)
摘要: var:类型推断,可变 final:运行时常量,只能赋值一次 const:编译期常量,用于常量上下文(如 widget 中的 const 构造) 阅读全文
posted @ 2026-06-17 09:29 黄增松 阅读(4) 评论(0) 推荐(0)
摘要: 拆分小 Widget 使用状态管理而不是 setState const Widget Selector(Provider)/ BlocBuilder(buildWhen:) 阅读全文
posted @ 2026-06-15 17:47 黄增松 阅读(4) 评论(0) 推荐(0)
摘要: final:运行时常量,只能赋值一次 const:编译时常量,值必须在编译期确定 const Widget: 避免重建(canonical instance) 减少 build()调用 提高帧率和内存表现 ✅ 面试加分答:结合 Widget.canUpdate判断逻辑说明 阅读全文
posted @ 2026-06-15 17:10 黄增松 阅读(4) 评论(0) 推荐(0)
摘要: 1.分层:Base → Common → Biz(基础组件《网络请求基类 vc基类等》-通用组件《弹窗组件 分享组件》-业务组件《直播间组件 支付组件》) 2.组件间通信 CTMediator / URL Router《MGJRouter》 / Protocol Service 3.CocoaPod 阅读全文
posted @ 2026-06-15 12:05 黄增松 阅读(5) 评论(0) 推荐(0)
摘要: 只是赋值时 是一块内存 复制的引用 写操作时 增删改时 是两块内存 又复制了一块内存 这样做 既提高了性能 又保证了安全 值是独立的 这是 Swift 面试里非常经典的一道题,属于值类型 + 内存管理的核心考点。下面我按「面试可说 + 原理细节」两个层次给你讲。 一、面试标准答案(推荐背诵) Arr 阅读全文
posted @ 2026-06-10 22:50 黄增松 阅读(8) 评论(0) 推荐(0)
摘要: Task、 类比oc的NSOperation 能设置优先级、可取消任务 但是没有操作依赖 TaskGroup、类比oc的DispatchGroup和OperationQueue 等待多张图片下载完合成一张图片 actor 类比oc的信号量dispatch_semaphore 加锁 控制并发 这是 S 阅读全文
posted @ 2026-06-10 22:42 黄增松 阅读(10) 评论(0) 推荐(0)