Swift 4-'substring(to :)'已过时-我的代码的替代方法

san*_*ner 0 ios swift swift4

我的代码如下

   var theReview = addReview.text
    let len2 = addReview.text.utf16.count

    if len2 > 3000 {

        theReview = theReview?.substring(to: (theReview?.index((theReview?.startIndex)!, offsetBy: 3000))!)

    }
Run Code Online (Sandbox Code Playgroud)

我的目标是获取文本的前3000个字符(如果长度超过3000个字符)。

但是,我得到以下警告:

不推荐使用'substring(to :)':请使用字符串切片下标以及'partial range upto'运算符

有什么可以替代我的代码。我不是一个非常专业的编码员。因此,任何帮助都会很棒。

PGD*_*Dev 5

只需调用prefix(_:)theReview所要求的length

func前缀(_ maxLength:Int)->子字符串

返回一个子序列,直到指定的最大长度,该子序列包含集合的初始元素。

如果最大长度超过集合中元素的数量,则结果将包含集合中的所有元素

var theReview = addReview.text
theReview = String(theReview.prefix(3000))
Run Code Online (Sandbox Code Playgroud)

注意:无需检查是否theReview's length超出了3000。它会自己处理prefix(_:)