在Objective-C中编写CalDAV客户端库的最佳方法?

时间:2011-10-17 21:55:59

标签: objective-c cocoa caldav

我需要为Mac编写一个CalDAV客户端库,我只是想确定最好的编写方式。

我想知道我是否应该只使用NSURLRequest,还是应该转到套接字级别,或介于两者之间?

我对使用NSURLRequest的担心是,每次调用都会建立一个新的连接,而不是只有一个打开的连接,所有“请求”都会通过。

我错过了什么吗?

思考?建议?

2 个答案:

答案 0 :(得分:1)

NSURLRequest实际上并未创建任何连接。它只是封装了请求的参数。 NSURLConnection实际上创建了与服务器的连接并发送请求。根据这个答案,NSURLConnection个实例共享并重用了TCP连接:

NSURLConnection is run many times

因此,如果他们的API适合您,您应该使用NSURLRequestNSURLConnection

答案 1 :(得分:1)

使用NSURLRequest。尽管有命名,但NSURLConnection对象与TCP连接没有一对一的对应关系。实际上,NSURLConnection可能更恰当地命名为NSURLRequestLoadingManager或其他东西 - 它只是一个跟踪特定请求进度的对象。

底层TCP连接由Cocoa管理,您无需担心其生命周期。