スウィフト2からスウィフト3に変換していました。私はスウィフト3:\でブール値を整数値に変換できないことに気付きました。例えばスウィフト3でブール値をInteger値に変換する
let p1 = ("a" == "a") //true
print(true) //"true\n"
print(p1) //"true\n"
Int(true) //1
Int(p1) //error
これらの構文は、SWIFT 2にうまく働いた。しかし、SWIFT 3に、print(p1)
はエラーを生成します。
エラーはエラーが起こっている理由を私は理解してerror: cannot invoke initializer for type 'Int' with an argument list of type '((Bool))'
です。誰もがこの安全性の理由とBoolからIntに迅速に変換する理由を説明できますか?
スウィフト4の場合は、同様の質問に対する私の[受け入れ答えを](https://stackoverflow.com/a/44423340/1966109)を参照してください。 –