Flutter 命令行速查表
📘 Flutter 命令行速查表(Cheat Sheet)
🚀 基础命令
命令
说明
flutter --version
查看当前 Flutter 版本
flutter doctor
检查环境配置和依赖状态
flutter upgrade
升级 Flutter SDK 到最新版本
flutter help
查看所有可用命令的帮助信息
📦 项目创建与管理
命令
说明
flutter create my_app
创建一个新的 Flutter 项目
flutter create .
在当前目录初始化项目(适用于空目录)
flutter pub get
获取依赖包
flutter pub upgrade
升级依赖包到最新版本
flutter pub outdated
查看依赖包是否存在新版本
flutter clean
清除构建缓存,常用于解决编译异常
🧪 运行与调试
命令
说明
flutter run
运行项目到默认设备
flutter run -d chrome
运行到 Web 浏览器(如 Chrome) ...
Swift 中常用高阶函数介绍
Swift 中常用高阶函数介绍在 Swift 编程语言里,有一系列非常实用的高阶函数,它们能够帮助开发者更高效、简洁地处理集合数据。除了 reduce 方法,map、filter、compactMap 和 flatMap 等方法在集合处理中也扮演着重要角色。下面将详细介绍这些方法的特点和使用示例。
1. map 方法map 方法用于对集合中的每个元素应用给定的转换闭包,然后返回一个包含转换结果的新集合。
示例代码:
123let numbers = [1, 2, 3, 4, 5]let squaredNumbers = numbers.map { $0 * $0 }print(squaredNumbers) // 输出: [1, 4, 9, 16, 25]
在这个例子中,map 方法对 numbers 数组里的每个元素进行平方操作,然后返回一个包含平方结果的新数组。
2. filter 方法filter 方法用于筛选出集合中满足指定条件的元素,然后返回一个包含这些元素的新集合。
示例代码:
123let numbers = [1, 2, 3, 4, 5]let e ...
swift 反射
1.使用Swift反射将同样类型的obj2中非空字符串属性复制到obj1
1234567891011121314151617181920212223242526272829303132class AegReflectUtils { /// 使用Swift反射将obj2中非空字符串属性复制到obj1 /// 注意:要求对象继承自NSObject且属性标记为@objc static func copyObj2ToObj1(_ obj1: NSObject, _ obj2: NSObject) { let mirror = Mirror(reflecting: obj2) for child in mirror.children { guard let propertyName = child.label else { continue } // 过滤不需要处理的属性 if shoul ...
测试多线程并发请求
测试多线程并发请求
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849extension XSPersonalViewController { /// 测试多线程并发请求 private func testConcurrentRequests() { Task { let startTime = Date() await XSClient.shared.clearTokenExpiration() ASLog("Token expiration cleared for testing at \(startTime)") try await withThrowingTaskGroup(of: (Int, [String: Any], TimeInterval).self) ...
Swift工程构建Test和release环境
1.在 PROJECT 中的 Info的 configurations 下面基于 Release 创建 Test 的 configuration
2.在preprocessor Macros 下面的 Test 中增加 TEST=1
3.在Build Settings 下的custom flags 下面的 Test 下增加 TEST
4.点击 Manage Schemes, 增加-Test 和-Release, 并修改他们的编译条件
5.添加Configurations各个环境下的文件,并分别配置 APP_AAME, bundleID 等变量,并关联到Configurations下的配置中
6.在 Info.plist 文件中将变量和配置文件中的定义关联12345678910<key>CFBundleDisplayName</key><string>$(APP_NAME)</string><key>CFBundleIdentifier</key><string>$(PRODUCT_BUNDL ...
swiftUI 中的导航比较
SwiftUI 中的导航视图:NavigationLink、navigationDestination、NavigationView、NavigationStack 和 NavigationSplitView 比较与示例在 SwiftUI 中,有多种方式可以实现视图之间的导航。本文将比较 NavigationLink、navigationDestination、NavigationView、NavigationStack 和 NavigationSplitView 的用法和特点,并提供示例代码。
NavigationLinkNavigationLink 是最常用的导航方式,适用于简单直接的导航场景,如列表中导航到详情页面。
1234567891011121314151617181920212223242526import SwiftUIstruct ContentView: View { var body: some View { NavigationView { VStack { ...
ImageMagick 简介
ImageMagick 简介ImageMagick 是一个强大的开源工具,可以用于创建、编辑、合成和转换图像。它支持多种图像格式(如 PNG、JPEG、GIF、TIFF 等),并提供丰富的命令行工具和编程接口。
安装 ImageMagick在 macOS 上安装
使用 Homebrew(推荐):
1brew install imagemagick
如果需要使用 HDRI 或其他功能,可以添加选项:
1brew install imagemagick --with-hdri
验证安装:
1magick -version
输出版本信息即表示安装成功。
ImageMagick 的主要用法基本命令
查看图像信息
1magick identify image.png
显示图像的详细信息(格式、大小、颜色模式等)。
格式转换 将 PNG 转换为 JPEG:
1magick input.png output.jpg
调整图像大小 按指定尺寸调整大小:
1magick input.png -resize 200x200 output.png
按比例调整(例如 50% 大小):
1ma ...
崩溃日志的捕获和保存
在iOS应用程序开发中,处理崩溃是一个重要的话题。能够捕获、保存并上传崩溃日志不仅可以帮助开发者快速定位和修复问题,还能提高应用程序的整体质量和用户体验。本文将介绍如何在iOS应用中实现崩溃日志的捕获、保存和上传功能。
1. 捕获崩溃信息首先,我们需要设置一个未捕获异常处理程序来捕获崩溃信息。这可以通过使用NSSetUncaughtExceptionHandler()函数来实现。
12345678910111213141516171819void uncaughtExceptionHandler(NSException *exception) { NSArray *callStack = [exception callStackSymbols]; NSString *reason = [exception reason]; NSString *name = [exception name]; NSMutableDictionary *crashInfo = [NSMutableDictionary dictionary]; [crashI ...
SwiftData详解
以下内容已整理到小册子中,小册子代码在 Github 上,本文会随着系统更新和我更多的实践而新增和更新,你可以下载“戴铭的开发小册子”应用,来跟踪查看本文内容新增和更新。
小册子代码里有大量 SwiftData 实际使用实践的代码。
本文属于小册子系列中的一篇,已发布系列文章有:
【本篇】小册子之如何使用 SwiftData 开发 SwiftUI 应用
小册子之简说 Widget 小组件
小册子之 List、Lazy 容器、ScrollView、Grid 和 Table 数据集合 SwiftUI 视图
小册子之详说 Navigation、ViewThatFits、Layout 协议等布局 SwiftUI 组件
小册子之 Form、Picker、Toggle、Slider 和 Stepper 表单相关 SwiftUI 视图
小册子之 SwiftUI 动画
在 Swift 中,有许多库可以用于处理数据,包括但不限于 SwiftData、CoreData、Realm、SQLite.swift 等。这些库各有优势。
但,如果使用 SwiftData,你可以在 Swift 中更加方便地处理数 ...
combine学习
Swift Combine - iOS 13轉移到 Combine
先做一個公用程式,印出範例用…
其實,Combine的功能有很大一部分是用到Result<Value, Error>的設定,成功和失敗二擇一的參數應用…
Combine也是有所謂的生命週期
當然RxJS Marbles的彈珠圖也是可以參考的…
1234public func example(of description: String, action: () -> Void) { print("\n=== 範例: \(description) ===") action()}
Lesson.01 - Notification vs Combine通知 - Notification
先以一個iOS基本的Notification為基準
12345678910example(of: "Notification") { let myNotification = Notification.Name(" ...