Kru*_*nal 157 string substring ios swift4 xcode9.1
字符 - String的实例属性,不推荐使用Xcode 9.1
通过使用characters属性从String获取子字符串非常有用,但现在它已被弃用,Xcode建议使用它substring.我试图检查SO问题和苹果开发人员教程/指南.但是没有看到任何解决方案/替代建议.
这是警告信息:
不推荐使用'characters':请使用String或Substring
我使用属性执行/处理了很多字符串操作characters.
任何人对此更新有任何想法/信息?
小智 261
Swift 4引入了对字符串API的更改.
你可以用!stringValue.isEmpty而不是stringValue.characters.count > 0
有关更多信息,请从此处获取样本
例如
let edit = "Summary"
edit.count // 7
Run Code Online (Sandbox Code Playgroud)
Moh*_*goo 76
Swift 4 vs Swift 3示例:
let myString = "test"
for char in myString.characters {print(char) } // Swift 3
for char in myString { print(char) } // Swift 4
let length = myString.characters.count // Swift 3
let length = myString.count // Swift 4
Run Code Online (Sandbox Code Playgroud)
操作字符串的最常见情况之一是使用JSON响应.在这个例子中,我在我的监视应用程序中创建了一个扩展,用于删除比特币JSON对象的最后(n)个字符.
斯威夫特3:
func dropLast(_ n: Int = 0) -> String {
return String(characters.dropLast(n))
Run Code Online (Sandbox Code Playgroud)
Xcode 9.1错误消息:
不推荐使用'characters':请直接使用String或Substring
Xcode是告诉我们要使用的字符串变量或方法直接.
斯威夫特4:
func dropLast(_ n: Int = 0) -> String {
return String(dropLast(n))
}
Run Code Online (Sandbox Code Playgroud)
完整扩展:
extension String {
func dropLast(_ n: Int = 0) -> String {
return String(dropLast(n))
}
var dropLast: String {
return dropLast()
}
}
Run Code Online (Sandbox Code Playgroud)
呼叫:
print("rate:\(response.USDRate)")
let literalMarketPrice = response.USDRate.dropLast(2)
print("literal market price: \(literalMarketPrice)")
Run Code Online (Sandbox Code Playgroud)
安慰:
//rate:7,101.0888 //JSON float
//literal market price: 7,101.08 // JSON string literal
Run Code Online (Sandbox Code Playgroud)
其他例子:
print("Spell has \(invisibleSpellName.count) characters.")return String(dropLast(n))return String(removeLast(n))文档:
你会经常使用常用的方法,例如dropLast()或removeLast()或count因此这里是每种方法的明确的苹果文档.
| 归档时间: |
|
| 查看次数: |
61649 次 |
| 最近记录: |