swift 3迁移错误

时间:2017-08-03 08:45:20

标签: ios swift swift3

下面是我的swift 2.0代码。我的代码在swift 3.1中看起来如何?

let index: String.Index = advance(cell.itemPriceLabel.text!.startIndex, 3)        
var trimmedPrice = productPrice.substring(from: index)

2 个答案:

答案 0 :(得分:1)

来自Migration to Swift3

  

最明显的变化是索引不再有successor(),   predecessor(),advancedBy( :),advancedBy(:limit :)或distanceTo(_ :)   方法。相反,这些操作被移动到集合中   现在负责增加和减少其指数。

     

myIndex.successor()=> myCollection.index(after:myIndex)
  myIndex.predecessor()=> myCollection.index(之前:myIndex)
  myIndex.advance(by:...)=> myCollection.index(myIndex,offsetBy:...)

比您的代码

if let text = priceLabel.text {
    let index = text.index(text.startIndex, offsetBy: 3)
}

答案 1 :(得分:1)

您的代码的Swift3版本如下:

let index = priceLabel.text!.index(priceLabel.text!.startIndex,offsetBy: 3)