Swift 4 'substring(from:)' 已弃用 : Please use String slicing subscript with a 'partial range from' operator

标签 swift substring deprecated swift4

我刚刚转换了我的小应用程序,但我发现了这个错误: 'substring(from:)' 已弃用:请使用带有 'partial range from' 运算符的字符串切片下标

我的代码是:

    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 的支持示例。

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:)' 已弃用 : Please use String slicing subscript with a 'partial range from' operator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46336932/

相关文章:

ios - 闭包元组不支持 Xcode 9 Swift 4 中的解构

ios - XCode 8 CoreData 自动生成基类

java - Boyer-moore 计算单词 java

macos - 既然 ColorSync Manager API 中的所有内容均已弃用,我如何查找显示配置文件

Swift 属性 - 按操作系统版本弃用

iOS UITableViewWrapperView 在带有 Xcode9 的 iOS 11 中不存在

swift - 如何使用 ** 用于指数使用 @infix func **( )?

algorithm - 在较小的字符串中查找大量字符串中的所有匹配项

elasticsearch - 搜索一个值中包含的 ElasticSearch 字段

c++ - 检测 C++ 中已弃用的函数