调用中的无关参数标签“ with:”

时间:2018-10-08 07:47:19

标签: swift xcode xcode10

在此代码中

text = prospectiveText.substring( with: Range<String.Index>(prospectiveText.startIndex ..< prospectiveText.characters.index(prospectiveText.startIndex, offsetBy: maxLength)) )

我将xcode更新为10.01后收到错误Extraneous argument label 'with:' in call

如何修复该错误?

1 个答案:

答案 0 :(得分:2)

Cannot invoke initializer for type 'Range<String.Index>' with an argument list of type '(Range<String.Index>)'中一样,可以通过删除Range<String.Index>(...)转换来修复编译器错误。这仍然会引起警告

  

不建议使用“字符”:请直接使用字符串或子字符串
  substring(with :)'已过时:请使用String切片下标。

可以用

固定
text = prospectiveText[..<prospectiveText.index(prospectiveText.startIndex, offsetBy: maxLength)]

但是,您可以使用

简单得多地获得相同的结果
text = String(prospectiveText.prefix(maxLength))