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

查看:655
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆