私はDancing in the Debugger — A Waltz with LLDBの記事を読んでいます。そして私はSwift 3.0と同様にSwift 2.2でthread return
コマンドを試しています。LLDB 'thread return'コマンドはSwift関数でエラーを出します
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let resust = test()
print(resust)
}
func test() -> Bool {
return true
}
}
と私はthread return false
アクションでtest()
関数の先頭にブレークポイントを追加しました:
私のコードは非常に単純です。しかし、コマンド+ Rの後、私のプログラムはブレークポイントで停止し、次のエラーで停止します。
"エラー:スレッド1のフレーム0からのエラーを返しています:現在のところ、単純な整数型と浮動小数点型それから私は、Objective-Cのコードで同じことをしようとした
;:..」
は、ここでのスクリーンショットですすべてがうまくいく。
スウィフト 'Bool' sは構造体として実装されているため、「単純な整数型と浮動小数点型」ではありません。 ObjCの 'BOOL'はプリミティブ型のtypedefなので、ObjCで動作します。 – dan
'thread return 10(または他の番号)'をアクションとして試しましたが、プログラムは同じエラーで停止しました。 : – oneMortale
スウィフトスレッドコンテナはタイプセーフなので、おそらくブール値に暗黙的に変換されますか? – Leviathlon