最新文档可以在以下位置找到: SchafKit Wiki
一个工具包,为 iOS、watchOS、macOS 和 tvOS 提供有用的功能,并充分利用 Swift 丰富的特性集。
SKCryptography 是 TweetNacl 的一个封装器,提供了 Curve25519XSalsa20Poly1305BoxAlgorithm、XSalsa20Poly1305SecretBoxAlgorithm 和 Ed25519Algorithm 类。
SKDispatchHelper 帮助将代码块提交到调度队列。
SKDispatchHelper.dispatch(
on: .main,
block: {
// Do something here
})
SKFileSystemItem 及其子类 SKFile 和 SKDirectory 提供对文件系统的轻松访问。
网络提供了一种发送简单或高级网络请求的简便方法。以下示例使用 Swift 5.5 的 await。一切也可以使用回调来实现。
简单
do {
let result = try await SKNetworking.request(
url: "https://github.com/Quintschaf/SchafKit"
)
print(result.stringValue) // Prints the html received
}
高级
let block : SKNetworking.RequestCompletionBlock = { (result, error) -> Void in
// Do something here, for example: result.jsonValue?["Test"]["Toast"]
}
let headerFields : [SKNetworking.Request.HeaderField: String] = [
.accept : "*/*",
"CustomField" : "CustomValue"
]
let result = SKNetworking.request(
url: "https://github.com/JannThomas/OpenKit",
options: [
.requestMethod(value: .post),
.headerFields(value: headerFields),
.body(value: .xWwwFormUrlencoded(value: ["Key" : "Value"]))
]
)
// Do something with the result
SKRegexMatch 处理正则表达式。
guard let matches = "Test".regexMatches(with: "(T)est") else {
return
}
print(matches.first?.captureGroups.first) // "T"
SchafKit 的很大一部分是扩展。您可以在文档中找到所有扩展,但这里列出最重要的扩展及其示例。
| 变量 | 返回类型 | 描述 | 结果 |
|---|---|---|---|
| empty | 字符串 | 一个空字符串。 | "" |
| space | 字符串 | 一个包含空格字符的字符串。 | " " |
| newline | 字符串 | 一个包含换行符的字符串。 | "\n" |
| tab | 字符串 | 一个包含制表符的字符串。 | "\t" |
| 变量 | 返回类型 | 描述 | 示例 | 结果 |
|---|---|---|---|---|
| localized | 字符串 | 接收器的本地化版本。 | "DONE_BUTTON_TEXT".localized |
"Done" |
| urlEncoded | 字符串 | 接收器的 URL 编码版本。 | "https://quintschaf.com".urlEncoded |
"https%3A%2F%2Fquintschaf.com" |
| urlDecoded | 字符串 | 接收器的 URL 解码版本。 | "https%3A%2F%2Fquintschaf.com".urlDecoded |
"https://quintschaf.com" |
| extractedSeconds | Int? | 从接收器中提取秒数,格式为 hh:mm:ss/mm:ss/ss。 | "00:02:15".extractedSeconds |
135 |
SchafKit 还为字符串包含了合理的下标,使得像 "abc"[0...1] 这样的语法成为可能。
SchafKit 依赖于 Swift Package Manager,并通过将其添加为依赖项来安装。
我们选择对 SchafKit 使用 CC0 1.0 Universal 许可。以下简短说明不具有任何法律含义,也不以任何方式凌驾于许可之上:CC0 1.0 Universal 许可赋予您在任何(商业或非商业)产品中使用或修改所有 SchafKit 代码的权利,而无需提及、许可或任何其他类型的麻烦。
SKAlertingSKStoreKitHelperSKJsonRepresentable