[Swift 4]排名前三的String API新功能

在每个版本中,Apple都使我们越来越爱Swift。 但是,并非总是那样。 就我个人而言,Swift 3感觉是Swift的第一个正式版本,而不是版本1和2。他们感觉更像是该语言的beta发行版。 现在我们得到了Swift 4,它是Swift 3的升级,而不是像以前版本中那样对语言进行全面的改进。 它随新的Xcode 9一起提供。在使用Swift 4之后,我决定专门讲一个故事,重点放在令人兴奋的新String API上

关于Swift 4

Swift 4以Swift 3的优势为基础,提供了更高的鲁棒性和稳定性,提供了与Swift 3的源代码兼容性,对标准库进行了改进,并添加了诸如智能键路径和序列化之类的功能,同时缩短了构建时间并减小了尺寸应用程序二进制文件。

为您推荐: 我❤Swift [第1部分] — UIViewController和扩展

字符串API

字符串是Swift中最常用的类之一,因此最终,它得到了很多当之无愧的爱。 新的API包含许多更改,但我将仅关注最佳更改。

3个多行字符串文字会让您忘记在行中添加带有内联\ n的新行 较长的字符串,会使您的字符串显得肮脏且难以阅读。 这是多行字符串文字可能有帮助的众多示例之一。
通过将示例字符串添加到print()中,让我们比较当前和新的字符串多行方法。

迅捷3

  print(“ \ n示例:\ n-第一行\ n-第二行\ n-第三行”) 

斯威夫特4

  print(“”“示例: 
- 第一行
- 第二行
-第三行“”“)

可能您会发现差异以及新的多行字符串的清洁程度。 为了使用多行字符串文字,您将需要使用“”“确定字符串的基本缩进。

2个集合–字符串再次成为集合。 它是在Swift 1中首先引入的,但在Swift 2中却被删除。现在,该字符串被视为字符的集合,我们可以对它们执行各种操作(迭代,过滤器等)。

直接在String上迭代

  let str =“超赞的字符串” 
 用于str中的char { 
打印(字符)
}

在字符串上使用过滤器

  let str =“超赞的字符串” 
let filteredString = string.filter { $0 != "a" } 

1 子串类型– Swift 4添加了一种新类型,用于引用String上的序列,称为Substring 。 他们俩都实现了StringProtocol,这给了他们几乎相同的功能。 让我们看几个例子,说明如何使用新的Substring类型。

将字符串拆分为子字符串

  let str =“超赞的字符串” 
让endIndex = str.index(str.startIndex,offsetBy:4)
var awesoSubstr = str [str.startIndex ... endIndex] //“ Aweso” // awesoSubstr 现在是子字符串类型

从子字符串创建字符串

  let awesoStr = String(awesoSubstr) //“ Aweso” 

将字符串连接为子字符串

  awesoSubstr + =“ me” //很棒 

这些只是String API提供的许多新功能中的几个,您可以在StringManifesto中了解它们。

结论

可以在市场上100%可用的应用程序中找到的String API受到其创建者的应有的爱,并进行了重大更新。 我确信我会在所有可能的情况下使用这些新功能,并且将消除过去的诸多麻烦和挫折。

我认为苹果公司终于在正确的方向上引领了Swift,而不是对其进行改版,他们决定加强弱点,并开发出更强大,更稳定的编程语言。 我不仅在讲String API,还在讲Swift 4随附的所有其他新功能。

如果您认为这篇文章有帮助,请随时分享或❤。 另外,请跟随我以随时了解Swift的未来更新和教程。 🙂

 最初发布在theappspace.com