我构建了一个从数据库中请求图像URL的webservis.而我想在迅速展示它.但是我在var photo line上发现了这个错误:
无法将'subSequence'类型的值(也称为'String.CharacterView')转换为在集合中键入'String'
let requestResponse = self.sendToServer(postUrl: "localhost",data:"abc")
let Seperated = requestResponse.characters.split(separator: " ")
var photo = Seperated[0] as String
let imageURL = URL(string: photo)
if let imageData = try? Data(contentsOf: imageURL!) {
...
}
Run Code Online (Sandbox Code Playgroud)
Mic*_*ael 31
考虑这样的事情:
let requestResponse = "some string"
let separated = requestResponse.characters.split(separator: " ")
if let some = separated.first {
let value = String(some)
// Output: "some"
}
Run Code Online (Sandbox Code Playgroud)
小智 26
最简单的解决方案。
let separated = requestResponse.characters.split(separator: " ").map { String($0) }
Run Code Online (Sandbox Code Playgroud)
split
返回 s 的列表Substring
,因此我们必须将它们映射(转换)为String
s。为此,您只需将 传递Substring
给String
sinit
函数即可:
let separated = requestResponse.characters.split(separator: " ").map(String.init)
Run Code Online (Sandbox Code Playgroud)
小智 7
如果是Swift 4,您可以这样使用:
let separated = requestResponse.split(separator: " ")
var photo = String(separated.first ?? "")
Run Code Online (Sandbox Code Playgroud)
小智 5
一种使用高阶函数分割字符串来获取字符串的方法:
let splitStringArray = requestResponse.split(separator: " ").map({ (substring) in
return String(substring)
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23355 次 |
最近记录: |