SwiftUI Equatable 与 Hashable 协议 当我们用实例作为 tag 时,可能会出现这样的报错: 1Instance method 'tag' requires that 'Class' conform to 'Hashable' 当我们对结构体使用 onChang() 的时候,可能会出现这样的报错: 1Referencing instance method 'onCh 2024-12-19 合集 #SwiftUI
macOS 删除所选 List row 双击 List row 删除123456789101112List(selection: $selection) { ForEach(items, id: \.self) { item in Text(item) .contextMenu { Button(action: { 2024-12-19 随笔 #SwiftUI
App Icon 生成 在 iOS 上,现在已经不用各种尺寸 App Icon 了,只需要一张 1024x1024 的 App Icon 图片即可。 参考:從 Xcode 設定 iOS App Icon 但是在 macOS 上的 App 还是需要 11 个不同尺寸的 App Icon。下面网站,只需要提供一张 1024x1024 的 App Icon 就能生成其它尺寸的 App Icon。 App icon Gener 2024-12-19 随笔 #生产力
Swift 求正六边形网格中颜色相同且相邻的正六边形数量 如图所示,蓝色正六边形族的数量应该是 4 和 2。 下面介绍 Swift 代码的实现办法。 首先为正六边形进行编号,如图: 再为每个正六边形关联相邻的六边形,例如 1 - 2, 3, 4 2 - 1, 4, 6 关联好之后,以 1 号六边形为例: 将 1 号加入 check 数组 -> [1] 遍历 check 数组,将 1 号加入 blue 数组 -> [1];将 1 号加 2024-12-12 随笔 #Swift
Xcode 提示 Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread. 提示 Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread.,翻译过来大概是「不能在后台线程中改变布局,必须在主线程中才能进行布局操作」。 报错出现的代码是在 URLSession.shared 2024-12-12 随笔 #Swift #Xcode
Swift 绘制正六边形 正六边形的结构1234567struct Hexagon:{ let points: [CLLocationCoordinate2D] let centerLatitude: Double let centerLongitude: Double let startAngle: Double let radius: Double } 正六边形 2024-12-11 随笔 #Swift
在 SwiftData 中使用 CLLocationCoordinate2D 数据类型 项目中 SwiftData 要将 CLLocationCoordinate2D 作为数组存储对象,但报错: 1Referencing instance method 'setValue(forKey:to:)' on 'Array' requires that 'CLLocationCoordinate2D' conform to 2024-12-11 随笔 #SwiftData
GPS、GNSS、RTK、PPK 的区别 GPS 与 GNSS 的区别GPS-全球定位系统-Global Positioning System,美国在 1994 年启用,是最早开放给全世界民间使用的定位系统。所以大家习惯认为 GPS 等同于卫星定位。 但是到现在,中国、俄罗斯、欧盟都各自发展出了自己的覆盖全球的卫星定位系统,以往依赖 GPS 作为单一定位系统的情况已经不存在了。所以新的叫法 GNSS-全球导航卫星定位系统-Global N 2024-12-10 随笔 #Sensor #Map
Swift 拼接 JSON 字符串 使用 #123456789let string = "{\"key1\": \"value\", \"key2\": 123}"print(string) /// {"key1": "value", "key2": 123 2024-12-09 随笔 #Swift #Network
Xcode 删除 SwiftData 数据缓存 在 Xcode 中调试的时候,我们有时候需要删除创建的 SwiftData 缓存数据。在 Xcode 中 Clean Build Folder 并不能清除 SwiftData 的数据。 通常会创建一个 checkDatabaseLocation() 方法,使用这个方法来获取数据库的位置: 123456789101112131415161718import Foundationimport Swif 2024-12-09 随笔 #Xcode #SwiftData