Objective-C에서 DNS 해상도를 수행하기 위해 일부 CFNetwork
항목을 마무리하는 코드를 작성 중입니다.CFNetwork는 여전히 사용되지 않지만 CFStreamErrors를 전달합니다.
모든 좋은이며 일하고있어,하지만 난 몇 가지 질문이 있습니다 설명서를 CFStreamError
이되지 않습니다 말한다 및 CFReadStreamCopyError
이 있어야한다하더라도 CFStreamError
구조
CFHost
의 비동기 해결을 위해 콜백 함수 프로토 타입이 통과 참조 대신에 CFError
구조체를 반환합니다.
콜백 함수는 다음과 같은 선언 :
typedef void (CFHostClientCallBack) (
CFHostRef theHost,
CFHostInfoType typeInfo,
const CFStreamError *error,
void *info);
비 사용되지 않는 API를 사용하여이 콜백 (를) 대체 할 수있는 다른 것 같다하지 않습니다.
나는 API가 더 이상 사용되지 않는 이유는 새로운 것들이 이전 것들을 대체한다는 것이 었습니다. 이것이 사실이라면 CFReadStreamCopyError
함수를 사용하는 대체 콜백이없는 이유는 무엇입니까?
내가 가지고있는 주된 문제는 CFStreamErrors
이다. 나는 결코 CFStreamError
을 CFError
으로 바꾸기 위해 할 수있는 일이 있습니까?
그냥 몇 점을 명확히 :
나는이 점에 대한 설명서를 오해 한 믿지 않는다. CFHosts 비동기 해결 시스템에서 사용되는 콜백 메소드는 CFStreamError
으로 전달됩니다. CFStreamError
자체는 더 이상 사용되지 않을 수도 있지만 반환하는 함수, 즉 CFReadStreamGetError
및 CFWriteStreamGetError
은 더 이상 사용되지 않습니다. 설명서에 CFReadStreamCopyError
및 CFWriteStreamCopyError
을 사용하면 CFStreamError
대신 CFError
이 반환됩니다.
이 코드를 Objective-C로 래핑하고 Foundation 개체를 많이 사용하고 있습니다. 따라서 CFError
은 CFStreamError
보다 더 유용합니다. NSError
및 CFStreamErrors
으로 연결된 수신자 부담 전화는 CFError
만큼 유용한 정보를 포함하고 있지 않기 때문입니다. 또한, 심지어는 CFStream
을 직접 다루지 않으므로 특정 오류 구조체를 처리해야하는 이유는 무엇입니까? 마지막으로, 내 래퍼 클래스의 대리자 호출에서 NSError
을 궁극적으로 반환하려고합니다.
또한 deprecation이 즉시 메소드가 사라 졌음을 의미하는 것은 아니지만, 뭔가가 사용되지 않는 것으로 표시되면, 적어도 대안을 제공하는 것이 의미가 있다는 것을 알고 있습니다. 그렇지 않으면, 더 이상 사용되지 않는 메소드/function/class 등이 여전히 사용되고 있으며, 어떤 것이 그것을 대체 할 때까지는 더 이상 쓸모가 없다.
좋아, 그럴 경우, 내가 할 수있는 일은별로 없을 것 같아. – Jasarien