Ios Swift.String.Index(_rawBits:)的含义是什么
我试图理解Ios Swift.String.Index(_rawBits:)的含义是什么,ios,swift,string,indexing,Ios,Swift,String,Indexing,我试图理解Swift.String.Index(\u rawBits:)中的rawBits真正的意思是什么。如果打印String.Index,则会得到类似于Swift.String.Index(_rawBits:983040)。但这到底意味着什么 我能用这个原始比特数(数学上)计算字符串中的实际索引吗?要么是32号,16号还是别的什么 SwiftRange使用String.Index作为其上限和下限 SwiftRange使用String.Index作为其上限和下限` 不,没有Range可以,但这
Swift.String.Index(\u rawBits:)
中的rawBits
真正的意思是什么。如果打印String.Index
,则会得到类似于Swift.String.Index(_rawBits:983040)
。但这到底意味着什么
我能用这个原始比特数(数学上)计算字符串中的实际索引吗?要么是32号,16号还是别的什么
SwiftRange
使用String.Index
作为其上限和下限
SwiftRange
使用String.Index
作为其上限和下限`
不,没有Range
可以,但这只是Range
的一种特殊类型,它在名为Bound
的类型变量上是泛型的
\u rawBits
是字符串索引的内部实现细节。您应该将它们视为不透明类型,只能使用String
、Substring
和friends上相应的索引API进行操作。一般来说,以下划线开头的类型和方法签名是Apple框架的私有/内部签名,您应该忽略它们并按照文档进行操作。@duncac奇怪的是,这些位是通过String.Index.description
的实现暴露出来的。我想它对于直观地识别一个索引,并查看它是否与另一个索引不同很有用,但它仍然泄漏了实现细节这在Objective-C中非常常见,并带有it运行时绑定。通常,目标C类实际上是由私有子类实现的,比如\NSStaticString