我绝对不了解xcode,swift,mac等,但我必须修改和现成的项目,只需很少的设置。
一切都很好,但以下警告我并不了解如何通过谷歌搜索和阅读来解决它,因为我根本不懂这种语言。如果有人为此写出等效的swift 4代码,我将非常感激:
警告:
'substring(from:)' is deprecated: Please use String slicing subscript with a 'partial range from' operator.
CODE:
hex = hex.substring(from: hex.characters.index(hex.startIndex, offsetBy: 1))
答案 0 :(得分:2)
警告要你这样做:
hex = String(hex[hex.index(hex.startIndex, offsetBy: 1)...])
注意:
hex.characters
;直接使用hex
。[index...]
是切片下标,其中'部分范围来自'操作。它表示从index
创建一个子串到字符串的末尾。在这种情况下,index
是hex.index(hex.startIndex, offsetBy: 1)
,它只是字符串第二个字符的索引。将此切片运算符应用于hex
会创建一个子字符串,其中包含从第二个字符到字符串末尾的所有字符hex
。String.SubSequence
而不是String
的子字符串。 String()
是将切片运算符返回的String.SubSequence
转换回String
所必需的。更好的方式
所有这一行代码都是从String
中删除第一个字符。在Swift 4中,有一种更好的方法:
hex = String(hex.dropFirst())
注意:
dropFirst()
会返回String.SubSequence
,因此有必要使用String()
将其转换回String
。""
时它不会崩溃。