Swift 4:无法将字符转换为字符串

时间:2018-09-06 19:54:25

标签: swift4

我要从字符中的数字字符串中提取数字,但是无法将该字符转换为字符串或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, () -> ())'

        }
    }
}

你们中的任何人都知道我在做什么错,或者为什么不能将字符转换为字符串或整数?

非常感谢您的帮助。

1 个答案:

答案 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}} 看起来像这样:

{ }