Swift 4'substring(from :)'已弃用:请使用带有“ partial range from”运算符的String切片下标 [英] Swift 4 'substring(from:)' is deprecated: Please use String slicing subscript with a 'partial range from' operator
本文介绍了Swift 4'substring(from :)'已弃用:请使用带有“ partial range from”运算符的String切片下标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我刚刚转换了我的小应用程序,但是我发现了以下错误:不建议使用
'substring(from :)':请使用字符串切片下标和'partial range from'运算符
i've just converted my little app but i've found this error: 'substring(from:)' is deprecated: Please use String slicing subscript with a 'partial range from' operator
我的代码是:
let dateObj = dateFormatterFrom.date(from: dateStringa)
if dateObj != nil {
cell.detailTextLabel?.text = dateFormatterTo.string(from:(dateObj!))
} else {
let index = thisRecord.pubDate.index(thisRecord.pubDate.startIndex, offsetBy: 5)
cell.detailTextLabel?.text = thisRecord.pubDate.substring(from: index)
}
推荐答案
请按照以下示例修复此警告:
支持示例对于Swift 3、4和5。
Follow the below example to fix this warning: Supporting examples for Swift 3, 4 and 5.
let testStr = "Test Teja"
let finalStr = testStr.substring(to: index) // Swift 3
let finalStr = String(testStr[..<index]) // Swift 4
let finalStr = testStr.substring(from: index) // Swift 3
let finalStr = String(testStr[index...]) // Swift 4
//Swift 3
let finalStr = testStr.substring(from: index(startIndex, offsetBy: 3))
//Swift 4 and 5
let reqIndex = testStr.index(testStr.startIndex, offsetBy: 3)
let finalStr = String(testStr[..<reqIndex])
//**Swift 5.1.3 - usage of index**
let myStr = "Test Teja == iOS"
let startBound1 = String.Index(utf16Offset: 13, in: myStr)
let finalStr1 = String(myStr[startBound1...])// "iOS"
let startBound2 = String.Index(utf16Offset: 5, in: myStr)
let finalStr2 = String(myStr[startBound2..<myStr.endIndex]) //"Teja == iOS"
这篇关于Swift 4'substring(from :)'已弃用:请使用带有“ partial range from”运算符的String切片下标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文