Swift 中的字符串插值
Jul 02, 2022
字符串插值是在 Swift 3 中面向开发者推出的,因为太拉垮被标记为废弃。到了 Swift 5 经过重写之后又回归了。 可用性:iOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+, Xcode 10.2+ 在没有字符串插值之前,只能使用字符串格式化这一种方式: …
C 和 C++ 中的结构体(struct)有和不同?
Jun 30, 2022
struct 是一种简单的数据结构,是把不同类型的数据聚合在一起的一种方式。 在 C 语言里,struct 数据结构具有内存连续性的特点,就是说一个结构体的所有字段在内存里存储位置是连续的。 …
SwiftUI 学习资源
Jun 29, 2022
SwiftUI-Lab 网站上的文章是免费的,官方有一个收费的 App,整合了 SwiftUI 里的很多 API 使用例子 SwiftUI Companion Interactful 是 SwiftUI Companion 的免费替代版本。 Interactful
C++ 中的仿函数(Functor)和匿名函数(Lambda)
Jun 27, 2022
从 C++ 11 标准开始,被称为现代 C++。其中的一个原因,就是增加了 Lambda 表达式。 仿函数 在没有 Lambda 表达式之前,如果要在局部运行一个函数,只能使用仿函数。 仿函数就是在局部定义一个类,然后重载 () 运算符: …
免费的自建 Git 服务
Jun 24, 2022
Gitlab https://about.gitlab.com/install/ Gogs A painless self-hosted Git service. https://gogs.io/docs/installation
微软在 Apple 平台上的努力
Jun 23, 2022
FluentUI Fluent 是微软 Windows 界面的设计语言,就是界面设计规范。 微软使用 Swift 实现了一套 Fluent 风格的界面库。 支持 iOS 14+ 和 macOS 10.14+ https://github.com/microsoft/fluentui-apple FluentDarkModeKit Swift 实现的自动适配深色和浅色风格的库,支持 iOS 11+ …
各操作系统使用的渲染引擎
Jun 20, 2022
各种 Linux 发行版 Wayland, Xorg/X11 Wayland 是致力替代历史悠久的 X11,新的软件需要对 Wayland 做适配。 Android Skia Flutter, Chrome 也使用。 macOS & iOS 都是使用 Quartz 作为统一图形接口。
SwiftUI 相关的开源实现
Jun 15, 2022
Swift 是苹果公司的开源编程语言,但是苹果公司使用 Swift 开发的一些好用的框架却是闭源的,比如:SwiftUI、Combine。 以下是开源社区的实现版本: SwiftUI 的开源实现 由于 SwiftUI 涵盖的范围确实太大,以下开源项目现在已经不继续维护了,有点可惜。 …
自定义 Sh Bash Zsh Shell 配置
Jun 11, 2022
Sh Shell 系统范围配置: /etc/profile 用户范围配置: $HOME/.profile 有些系统(例如 Debian)会读取 /etc/profile.d 目录里的 *.sh 作为自定义的系统级配置: if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do [ -r $i ] && . $i done unset i fi 以上代码写在 /etc/profile 里,如果没有说明当前的系统不支持读取 profile.d 里的自定义配置,可以自己加上。 …
Swift 中的值类型和引用类型
May 30, 2022
Swift 中的 struct, enum, tuple 是值类型,class 是引用类型。 值类型在传递的时候是直接拷贝一份数据副本,而引用类型不拷贝数据,只是增加引用计数。 为了避免内存浪费,Swift 对值类型增加了一个写时复制(Copy-On-Write)的特性,只有在赋值后做了修改才会发生拷贝数据副本的行为,否则就和引用类型一样共享一份数据。 …