使用 Swift 编写的轻量级库,用于转换 String 的字母大小写。更多信息请参阅以下博客文章或下面的目录
特性
- 可以将字符串转换为多种支持的大小写,包括:大写、短横线命名、小写、小驼峰命名、大驼峰命名、蛇形命名、大写和小驼峰命名。
- 提供任何字母大小写到另一大小写的转换,例如:
"the-quick-brown-fox-jumped-over-the-lazy-dog".convert(from: .kebab, to: .macro)
打印 THE_QUICK_BROWN_FOX_JUMPED_OVER_THE_LAZY_DOG - 实现了
JSONDecoder.KeyDecodingStrategy
和JSONEncoder.KeyEncodingStrategy
以便使用Codable
键对 JSON 进行解码/编码,几乎适用于任何字母大小写。 - 为每个支持的大小写提供了便捷的
String
方法,例如:"The Quick Brown Fox".kebabCased()
输出 "the-quick-brown-fox"。
安装
CocoaPods
CocoaPods 是一个依赖项管理器,它将依赖项整合到您的 Xcode 工作区。要使用 Ruby gems 安装它,请运行
gem install cocoapods
使用 CocoaPods 安装 LetterCase,只需将以下行添加到您的 Podfile 中:
pod "LetterCase"
然后运行命令
pod install
更多信息请参阅 此处。
Carthage
Carthage 是一个依赖管理器,它为您的项目生成用于手动集成的二进制文件。您可以通过 Homebrew 使用以下命令安装它。
brew update
brew install carthage
为了通过 Carthage 将 LetterCase 集成到您的项目中,请在您的项目的 Cartfile 中添加以下行
github "rwbutler/LetterCase"
从 macOS 终端运行 carthage update --platform iOS
以构建框架,然后拖动 LetterCase.framework
至您的 Xcode 项目中。
有关更多信息,请参阅这里。
Swift 包管理器
Xcode 11 包含了对 Swift 包管理器 的支持。要在 Xcode 11 中将 LetterCase 添加到您的项目,从 文件
菜单选择 Swift 包
,然后选择 添加包依赖
。
将提示您输入包仓库的 URL,该 URL 为
https://github.com/rwbutler/LetterCase
验证 URL 后,Xcode 将提示您选择是否将特定的分支、提交或版本发布拉入您的项目。
进行下一步,您将被要求选择要集成到目标中的包产品。将有一个名为 LetterCase
的单个包产品,应该已预先选中。确保在对话框最右侧列中选择您的应用程序目标,然后单击“完成”以完成集成。
Letter Cases
case regular // No transformation applied.
case capitalized // e.g. Capitalized Case
case kebab // e.g. kebab-case
case lower // e.g. lower case
case lowerCamel // e.g. lowerCamelCase
case macro // e.g. MACRO_CASE
case snake // e.g. snakecase
case upper // e.g. UPPER CASE
case upperCamel // e.g. UpperCamelCase
使用方法
要使用 LetterCase,请首先使用以下方式导入它:import LetterCase
。然后按照以下方式调用 String
上的便利方法之一的示例
let exampleString = "The quick brown fox jumped over the lazy dog."
let result = exampleString.letterCase(.kebab)
print(result)
结果将输出以下内容
the-quick-brown-fox-jumped-over-the-lazy-dog
或者
let exampleString = "The quick brown fox jumped over the lazy dog."
let result = exampleString.kebabCased()
print(result)
字母大小写转换
使用convert函数将字母大小写从一种转换为另一种,如下所示
let input = "the-quick-brown-fox-jumped-over-the-lazy-dog"
let result = input.convert(from: .kebab, to: .capitalized)
print(result) // Prints "The Quick Brown Fox Jumped Over The Lazy Dog"
JSON解码
要解码具有kebab case键的JSON,例如
{
"vehicles": [{
"name": "car",
"travels-on": "road",
"number-of-wheels": 4
}, {
"name": "boat",
"travels-on": "water",
"number-of-wheels": 0
}, {
"name": "train",
"travels-on": "rail",
"number-of-wheels": 80
}, {
"name": "plane",
"travels-on": "air",
"number-of-wheels": 18
}]
}
指定keyDecodingStrategy
如下
let jsonData = try Data(contentsOf: jsonResourceURL)
let decoder = JSONDecoder()
decoder.keyDecodingStrategy = .convertFromKebabCase
let vehicles try decoder.decode(Vehicles.self, from: jsonData)
可用的策略包括
- convertFromCapitalized
- convertFromDashCase
- convertFromKebabCase
- convertFromLispCase
- convertFromLowerCase
- convertFromLowerCamelCase
- convertFromMacroCase
- convertFromScreamingSnakeCase
- convertFromTrainCase
- convertFromUpperCase
- convertFromUpperCamelCase
JSON编码
要将Swift结构编码为具有kebab case键的JSON,指定keyEncodingStrategy
如下
let encoder = JSONEncoder()
encoder.keyEncodingStrategy = .convertToKebabCase
let jsonData = try encoder.encode(vehicles)
可用的策略包括
- convertToCapitalized
- convertToDashCase
- convertToKebabCase
- convertToLispCase
- convertToLowerCase
- convertToLowerCamelCase
- convertToMacroCase
- convertToScreamingSnakeCase
- convertToTrainCase
- convertToUpperCase
- convertToUpperCamelCase
作者
许可证
LetterCase遵循MIT许可证。有关更多信息,请参阅LICENSE文件。
额外软件
控制
- AnimatedGradientView - 使 iOS 的渐变动画变得简单的强大工具。
AnimatedGradientView |
---|
![]() |
框架
- Cheats - 当代 iOS 应用的复古作弊码。
- Connectivity - 通过改善 Reachability 来确定你的 iOS 应用程序中的互联网连接性。
- FeatureFlags - 允许开发者配置特性标志,通过捆绑/远程托管的 JSON 配置文件运行多个 A/B 或 MVT 测试。
- FlexibleRowHeightGridLayout - 一种 UICollectionView 网格布局,旨在通过允许每行的尺寸适应内容来支持动态类型。
- LetterCase - 用 Swift 编写的轻量级库,用于转换 String 的字母大小写。
- Skylark - 完全用 Swift 编写的 BDD 测试框架,用于使用 Gherkin 语法编写 Cucumber 场景。
- TailorSwift - Swift 核心库/框架扩展的集合。
- TypographyKit - 支持动态类型的 iOS 上的一致性 & 可访问视觉样式。
- Updates - 自动检测应用程序更新,并温柔地提示用户更新。
Cheats | Connectivity | FeatureFlags | Skylark | TypographyKit | Updates |
---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
工具
- Clear DerivedData - 通过在终端中键入
cdd
快速清除你的 DerivedData 目录的实用工具。 - Config Validator - Config Validator 验证 & 上传你的配置文件,并在你的 CI 流程中清除你的 CDN 缓存。
- IPA Uploader - 上传你的应用程序到 TestFlight & App Store。
- 调色板 - 使你的 TypographyKit 颜色调色板在 Xcode 界面构建器中可用。
配置验证器 | IPA 上传器 | 调色板 |
---|---|---|
![]() |
![]() |
![]() |