最新文档可以在以下位置找到: 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 代码的权利,而无需提及、许可或任何其他类型的麻烦。
SKAlerting
SKStoreKitHelper
SKJsonRepresentable