私はCFNetwork
Objective-CでDNS解決を行うためにいくつかのものをまとめているいくつかのコードを書いています。
すべてが正常で機能していますが、いくつか質問があります。
の非同期解決のコールバック関数プロトタイプは、ドキュメントに非推奨であり、代わりに使用する必要があると記載されている場合でも、構造体CFHost
への参照を渡します。これにより、構造体が返されます。CFStreamError
CFStreamError
CFReadStreamCopyError
CFError
コールバック関数は次のように宣言されています。
typedef void (CFHostClientCallBack) (
CFHostRef theHost,
CFHostInfoType typeInfo,
const CFStreamError *error,
void *info);
非推奨ではないAPIを使用するこのコールバックに代わるものはないようです。
APIを廃止するポイントは、古いものに取って代わる新しいものが導入されたということだと思いましたか?これが本当なら、なぜ関数を利用するこれに代わるコールバックがないのCFReadStreamCopyError
ですか?
私が抱えている主な問題は本当にわかりにくいです...aをCFStreamErrors
に変えるために私ができることはありますか?CFStreamError
CFError
いくつかの点を明確にするために:
この点に関するドキュメントを読み間違えたとは思いません。CFHosts非同期解決システムで使用されるコールバックメソッドは、を渡しますCFStreamError
。それCFStreamError
自体は非推奨ではないかもしれませんが、それらを返す関数、つまりCFReadStreamGetError
とCFWriteStreamGetError
は非推奨です。ドキュメントでは、の代わりにCFReadStreamCopyError
とCFWriteStreamCopyError
を使用することを提案しています。CFError
CFStreamError
私はこのコードをObjective-Cでラップしており、Foundationオブジェクトを多用しています。そのため、フリーダイヤルでブリッジされており、有用な情報がほとんど含まれていないため、私にとってははるかに便利CFError
です。さらに、私は直接処理することすらしていませんが、なぜその特定のエラー構造体を処理する必要があるのですか?最後に、最終的にラッパークラスでデリゲートコールバックを返したいと思います。CFStreamError
NSError
CFStreamErrors
CFError
CFStream
NSError
また、非推奨はメソッドがすぐになくなることを意味するわけではありませんが、何かが非推奨としてマークされている場合は、(少なくとも私にとっては)代替手段を提供することは理にかなっています。それ以外の場合、非推奨のメソッド/関数/クラスなどはまだ使用されており、何かがそれに取って代わるまで非推奨にする意味はありませんか?