В настоящее время я пытаюсь перенести приложение .Net на Objective C и Cocoa. Я знаю основы, и у меня было мало проблем с большинством вещей. Но у меня проблемы с получением данных из Интернета.
В C # я бы использовал POST и GET для получения информации с сервера как такового
byte[] buffer = Encoding.ASCII.GetBytes("someData");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("url");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = buffer.Length;
Stream postData = request.GetRequestStream();
postData.Write(buffer, 0, buffer.Length);
postData.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
while (!reader.EndOfStream)
{
String data = read.ReadLine();
//Do something such as an update on each line read in
}
reader.Close();
response.Close();
но мне не очень повезло найти эквивлант с какао. Я видел использование таких вещей, как NSUrlDownload, но все примеры, которые я могу найти, всегда показывают загрузку данных в виде одного вызова функции блокировки. Где мне нужно, чтобы иметь возможность обновлять информацию по мере получения данных, а не просто ждать, пока все это прибудет, а затем иметь дело с этим. И в идеале я мог бы иметь дело с различными типами данных, такими как текстовые или двоичные данные, поэтому мне нужно что-то похожее на поток, который я могу передать в какой-то анализатор.
Итак, мой вопрос: что такое эквивлант кода C # выше?