深度解析swift中的String

本文深入探讨了Swift中的String结构,包括Character的定义,它实际上是grapheme cluster,以及如何通过组合Unicode代码点形成字符。String是由不确定长度的Character组成,采用双向链表存储,通过String.Index进行访问。文章还介绍了String与NSString之间的自动桥接,以及在Swift中如何使用Range表示字符串区间。推荐阅读相关文档以了解更多详情。
摘要由CSDN通过智能技术生成
String 是我们最常用到的语言元素,swift中的String初看起来相当简洁、易用(官方教程),真正大量使用时,却有点摸不着头脑。 第一、String.Index的概念让人费解,不知道它是如何构造出来的,Range<String.Index>就更奇怪了。第二、swift标准库中的方法很少,习惯了NSString中那些强大的功能,难免就要用一下bridge,而两者又有一些不能匹配的东西。 直到看完了这篇文章( http://oleb.net/blog/2014/07/swift-strings/),才算真正的明白了String的奥妙之处。

这篇文章讲的更好:https://developer.apple.com/swift/blog/?id=30

Character
swift中的Character是个奇怪的东西,它是个perceived character,或者说是个grapheme cluster。没有找到合适的中文解释。

举例说明:
let  precomposedCafe  =  "caf \u{E9} "
这个字符串是 café
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值