美文网首页程序员
Swift 4 String API的变化

Swift 4 String API的变化

作者: Lucky闪闪星 | 来源:发表于2018-01-11 22:27 被阅读254次

String在Swift 4 的新特性深受大众喜爱(至少我是很喜欢的).
String API 在Swift 4 中有很多的改变.
具体改变请 参考链接.

下面说一些主要的变化.

直接上代码:

let galaxy = "Milky Way 🐮"
for char in galaxy {
  print(char)
}

Look! 不需要像Swift3 那样需要遍历galaxy.characters这个数组,直接就可以遍历每个字符,是不是很爽? Swift 4 is swifter than swift 3~ 哈哈.

继续,

galaxy.count       // 11
galaxy.isEmpty     // false
galaxy.dropFirst() // "ilky Way 🐮"
String(galaxy.reversed()) // "🐮 yaW ykliM"

从上面的代码我们可以看出,Swift4的String,具备了SequenceCollection的所有性质.

继续,

// Filter out any none ASCII characters
galaxy.filter { char in
  let isASCII = char.unicodeScalars.reduce(true, { $0 && $1.isASCII })
  return isASCII
} // "Milky Way "

这个是Swift4 String过滤非ASCII码的字符的方法. 和Swift 3 不同的是,它可以直接获取StringUnicodeScalarView, 而在之前,这是很繁琐的,你需要重新创建一个String,具体请参考链接.

// Grab a subsequence of String
let endIndex = galaxy.index(galaxy.startIndex, offsetBy: 3)
var milkSubstring = galaxy[galaxy.startIndex...endIndex]   // "Milk"
type(of: milkSubstring)   // Substring.Type

// Concatenate a String onto a Substring
milkSubstring += "🥛"     // "Milk🥛"

// Create a String from a Substring
let milkString = String(milkSubstring) // "Milk🥛"

上面的例子是Swift 4 的字符串Slice. 切割后的Substring和string 几乎是一样的,都遵守了StringProtocol,而StringProtocol是Swift 4 新加入的一个字符串协议.
详情请参考官方文档.

貌似Swift 4 对Emoji String 也有一些改变,有知道的朋友可以在下面留言讨论一下,感谢🙏.,让我们在交流中一起成长.

相关文章

  • Swift 4 String API的变化

    String在Swift 4 的新特性深受大众喜爱(至少我是很喜欢的).String API 在Swift 4 中...

  • [译] 探索 Swift 4 中新的 String API

    原文:[Exploring the new String API in Swift 4](Exploring th...

  • swift4 为什么要整一个SubString

    swift4的众多变化之中,String和之前有一些很大的改进 String的哪些改进 一、String又变成了一...

  • swift 与OC

    swift 3 -4 的移植相比较swift 2.2 -3来说容易一些 原有API变化不太大,主要体现在API的新...

  • String

    Swift的字符串类型String,跟OC的NSString,在API设计上有很大差别. String的插入和删除...

  • [Swift5.1] 25-Swift 常规用法

    String Swift的字符串类型String,跟OC的NSString,在API设计上还是有较大差异: Str...

  • Swift中的String API

    我发现很多人在使用 Swift 时,都会抱怨 String API 很难用。它很难学习并且设计得晦涩难懂,大多数人...

  • swift3.0->String类中的API变化

    Swift版的Cocoa框架中的API有了大范围的修改外,Swift的一些核心库也有了很大的改动。其中字符串类型...

  • Swift 中的字符串操作

    Update: Swift 4 字符串截取 删除空格 范围替换 String 转 Int String 转 Double

  • Swift 4 String

    Swift的字符串和OC有很大差别,下面详细学习下。 Grapheme Clusters (字形簇) As you...

网友评论

    本文标题:Swift 4 String API的变化

    本文链接:https://www.haomeiwen.com/subject/rzztoxtx.html