为什么子串不再适用于Swift 4?

时间:2017-08-09 00:58:41

标签: xcode xcode9-beta swift4

我项目中的一个pod将无法编译,我无法弄清楚原因。说实话,我从来没有处理过String.UnicodeScalarView,所以我不知道那是什么,而且文档也不是很有帮助。他们仍然在Swift 4文档中使用string[subscript],但Xcode抱怨subscript已过时。有任何想法吗? enter image description here

1 个答案:

答案 0 :(得分:4)

我在完全相同的地方(同一个Mapbox文件)遇到了完全相同的错误。我认为问题与新的子字符串类型有所区别,而String类型会破坏您指定的行的代码。我还在努力了解新文档。无论如何,我拿了一个平底船并尝试了以下,使用String.UnicodescalarView(我也没有遇到过)

encodedString = String.UnicodeScalarView(encodedString[encodedString.index(after: currentIndex)..<encodedString.endIndex])

请注意,虽然这允许代码编译和运行,但它涉及解锁pod中的文件(以允许编辑),因此您应谨慎使用并确保在Mapbox发布更新后立即更新pod 。这根本不是一个长期的解决方案。