我的代码如下
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'运算符
有什么可以替代我的代码。我不是一个非常专业的编码员。因此,任何帮助都会很棒。
只需调用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(_:)。
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |