我目前正在尝试将 .Net 应用程序移植到 Objective C 和 Cocoa。我知道基础知识,并且在大多数事情上都没有遇到什么麻烦。但我无法从 Web 检索数据。
在 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# 代码的等价物是什么?