如何使用新的Swift 5.7 String方法



是否有导入或我必须使用的东西?在我的macOS应用程序中,我正在尝试:

let hello = "Hello"
let emptyRange = hello.firstRange(of: "")

这是swift进化建议0357的一个例子,该建议包含在swift 5.7中,根据:swift.org 5.7发行说明

我已经通过运行确认我正在使用swift 5.7

xcrun swift -version

并通过编码

#if swift(>=5.7)
print("on swift>=5.7")
#endif

当我试图编译上面的emptyRange代码时,我得到的错误是:

Value of type 'String' has no member 'firstRange'

从这个例子来看,它似乎应该是有效的——任何关于我遗漏的东西的提示都将不胜感激。

您的代码在Xcode iOS项目中对我来说很好;例如:

let result = "hello".firstRange(of: "")

它按预期编译和运行。问题似乎是,同样的方法还没有应用到你的macOS上。如果你查看标题,你会看到:

@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *)

我推断你没有运行macOS13。

最新更新