Objective-CからSwiftへの変換メモ その4
Xcodeに任せてできたコードが落ちたのでメモして置く。
Objective-Cだと
if ([socket.inputStream streamStatus] == 2) {
// Do something
}
上記コードをobjc2swiftで変換し、さらにXcodeの修正要求を反映したものが以下。
if Int((socket.inputStream?.streamStatus)!.rawValue) == 2 {
// Do something
}
動作させ見たら、lldbが起動してアプリが落ちた。
エラーコードは「Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)」
と言われても良く分からないので、色々ネットを漁って分かった動作するコードが以下。
if (socket.inputStream?.streamStatus == .open) {
// Do something
}
まぁ、Appleのドキュメントにも載っていると言えば確かになのだが、自分、あれを見ても意味が分からない情けない日曜プログラマーなのだった。
この投稿へのトラックバック
トラックバックはありません。
- トラックバック URL
この投稿へのコメント