对 Apple 的 Foundation 框架的各种扩展集合。
collect(upTo:stripTerminator:)
从序列中收集项目到您选择的 RangeReplaceableCollection
中,直到到达序列末尾或遇到给定的终止符子序列。可以选择是否在返回的集合中包含终止符。longestPrefix(where:)
确定与给定条件匹配的最长前缀(可以选择对该前缀执行转换),使用二分查找。bits
返回整数的各个位,在一个数组中。例如,19.bits
-> [1, 2, 16]
。bitIndices
类似于 bits
,但返回索引(作为 IndexSet
)而不是值本身,例如 19.bitIndices
-> IndexSet([0...1], 4)
。asHexString(uppercase:delimiterEvery:delimiter:)
将 Data
格式化为十六进制字符串,例如 Data(bytes: "woot", count: 4).asHexString(delimiterEvery: 1)
-> "77 6F 6F 74"
。asHexString
(省略括号),如果您不需要自定义其默认值。clamp
和 clamped
用于将值限定在给定范围内(支持所有有限范围类型),例如 5.clamped(..<0)
-> -1
。..<
)仅在 *也* 是 Strideable
的类型上受支持。asString(encoding:)
是 String(data:encoding:)
的更符合人体工程学的版本。asString
,假设为 UTF-8。timeAgo
返回给定 Date
过去多久的人类可读的本地化描述,例如 "2 hours ago"(2 小时前)。intMax
是相应的浮点类型中可以精确表示的整数值的范围的上限。async
返回同步迭代器的异步版本。typeErased
属性将迭代器转换为 AnyIterator
,方便可选链等情况。POSIX
是 POSIX 区域设置的简单常量,方便您可以编写 Locale.POSIX
而不是 Locale(identifier: "en_US_POSIX")
。orNilString
返回一个 String
,描述内容,如果 Optional
为空,则返回字符串文字 "nil"。 对于 Optional<String>
,它直接返回包含的 String
(如果存在),对于所有其他类型,它使用 String(describing:)
。quoted
返回字符串的带引号版本,对字符串中现有的引号和反斜杠进行反斜杠转义。例如,#"Hello, "Alex" \ "Alexis"."#.quoted
-> #""Hello, \"Alex\" \\ \"Alexis\".""#