轻量级 Swift 库,用于转换字符串的大小写。 欲了解更多信息,请查看博客文章或下面的目录
"the-quick-brown-fox-jumped-over-the-lazy-dog".convert(from: .kebab, to: .macro)
打印 THE_QUICK_BROWN_FOX_JUMPED_OVER_THE_LAZY_DOGJSONDecoder.KeyDecodingStrategy
和 JSONEncoder.KeyEncodingStrategy
,用于在使用几乎任何字母大小写的 Codable
键时解码/编码 JSON。String
上为每种支持的大小写格式提供了便捷方法,例如:"The Quick Brown Fox".kebabCased()
输出 "the-quick-brown-fox"。CocoaPods 是一个依赖管理器,它将依赖项集成到您的 Xcode 工作区中。 要使用 Ruby gems 安装它,请运行
gem install cocoapods
要使用 Cocoapods 安装 LetterCase,只需将以下行添加到您的 Podfile
pod "LetterCase"
然后运行命令
pod install
有关更多信息,请点击此处查看。
Carthage 是一个依赖管理器,它生成一个二进制文件,用于手动集成到您的项目中。 可以通过 Homebrew 使用以下命令安装它
brew update
brew install carthage
为了通过 Carthage 将 LetterCase 集成到您的项目中,请将以下行添加到您项目的 Cartfile 中
github "rwbutler/LetterCase"
从 macOS 终端运行 carthage update --platform iOS
以构建框架,然后将 LetterCase.framework
拖到您的 Xcode 项目中。
有关更多信息,请点击此处查看。
一旦您设置了 Swift 包,添加 LetterCase 作为依赖项就像将其添加到 Package.swift
的 dependencies 值一样简单
dependencies: [
.package(url: "https://github.com/rwbutler/LetterCase", from: "1.6.1")
]
Xcode 11 包括对 Swift Package Manager 的支持。 为了使用 Xcode 将 LetterCase 添加到您的项目中,请从 File
菜单中选择 Swift Packages
,然后选择 Add Package Dependency
。
对话框将请求包仓库 URL,即
https://github.com/rwbutler/LetterCase
验证 URL 后,Xcode 将提示您选择是将特定分支、提交还是版本化版本拉入您的项目。
继续下一步,您将被要求选择要集成到目标中的包产品。 将有一个名为 LetterCase
的单个包产品,它应被预先选中。 确保从对话框的最右列中选择了您的主应用目标,然后单击“完成”以完成集成。
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"
要解码键为 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)
可用的策略包括
要将 Swift 结构编码为键为 kebab case 的 JSON,请指定 keyEncodingStrategy
如下
let encoder = JSONEncoder()
encoder.keyEncodingStrategy = .convertToKebabCase
let jsonData = try encoder.encode(vehicles)
可用的策略包括
LetterCase 在 MIT 许可证下可用。 有关更多信息,请参阅 LICENSE 文件。
AnimatedGradientView |
---|
![]() |
Cheats | Connectivity | FeatureFlags | Skylark | TypographyKit | Updates |
---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
cdd
即可快速清除您的 DerivedData 目录。Config Validator | IPA Uploader | Palette |
---|---|---|
![]() |
![]() |
![]() |