我要从字符中的数字字符串中提取数字,但是无法将该字符转换为字符串或int。这是我的代码:
func processString(_ s: String) ->Bool {
var sum = 0
for char in s{
let number = String(char){ //error Cannot invoke initializer for type 'String' with an argument list of type '(Character, () -> ())'
}
}
}
如果我尝试转换为Int:
func processString(_ s: String) ->Bool {
var sum = 0
for char in s{
let number = Int(String(char)){ //Cannot invoke initializer for type 'Int' with an argument list of type '(String, () -> ())'
}
}
}
你们中的任何人都知道我在做什么错,或者为什么不能将字符转换为字符串或整数?
非常感谢您的帮助。
答案 0 :(得分:1)
其中有一些多余的{ }
括号是不必要的。删除这些应该可以解决编译器问题。
func processString(_ s: String) ->Bool {
var sum = 0
for char in s{
let charString = String(char)
print(charString)
}
}
在下一个示例中,由于Int(_ string:String)初始值设定项可以返回nil,因此您可以使用if let
语句来解包结果,这看起来就像您尝试使用{ {1}}
看起来像这样:
{ }