-1

私は、ARC を考慮せずに書かれた簡単なソケット チュートリアルに従っています。チュートリアルのアイデアをアプリに注入しています。アプリはすべて ARC 対応で作成されています。

この特定のコード行で問題が発生しています。

CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)self.SERVER, self.PORT, &readStream, &writeStream);

ARCではコンパイルされないので、両方の「修正」を試しました。そのうちの1つは次のとおりです。

CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)self.SERVER, self.PORT, &readStream, &writeStream);

ただし、この行は私にいくつかの問題を引き起こしています。内部呼び出し 'objc_msgsend' のように見えるものでアプリがクラッシュし、exc_bad_access エラーが発生します。

ARCのこの行を修正する方法についてのアイデアはありますか?

編集:これを投稿する前に、私のデバッグスキルが失敗しました。問題の原因は上記の理由ではなく、私のコード内の何かです。着信ストリームの処理と関係があると思います。

4

2 に答える 2

1

コード行は良いです — メソッドの名前は違います:SERVERあるべきでserverあり、PORT同様です。Objective-C コーディング スタイルを必ず採用する必要があります。

于 2013-01-26T23:35:32.387 に答える
1

メソッドとプロパティの命名規則に加えて、ニコライが正しく指摘したように、ストリームを保持していないと思われます。

プロパティであるかのように宣言する必要がstrongあります。残りのコードを表示していただけますか?

于 2013-01-26T23:45:57.013 に答える