此份筆記將紀錄如何下載網路上的東西,並以NSData儲存。
【部分程式碼】
建立連線,指定代理人:
let topPaidAppsFeed: NSString = "http://phobos.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/toppaidapplications/limit=75/xml"
var appListFeedConnection: NSURLConnection!
var url: NSURL = NSURL(string: topPaidAppsFeed)
var request: NSURLRequest = NSURLRequest(URL: url)
appListFeedConnection = NSURLConnection(request: request, delegate: self)
建立URL的連線,必須有NSURL以及NSURLRequest,並設定自己為NSURLConnection的代理人。採納Protocol:
NSURLConnectionDataDelegate, NSURLConnectionDelegate
Class必須採納NSURLConnectionDataDelegate與NSURLConnectionDelegate。實作Method:
func connection(connection: NSURLConnection, didFailWithError error: NSError) {
}
當連線有問題時會觸發的func。
func connection(connection: NSURLConnection, didReceiveResponse response: NSURLResponse) {
}
當接收到回應時會觸發的func,此時我們就可以建立一個NSMutableData的實體。
func connection(connection: NSURLConnection, didReceiveData data: NSData) {
}
資料會被分成好幾個區塊傳送,此時就會透過didReceiveData來接收每一個區塊,所以我們就可以利用NSMutableData裡的appendData將區塊的資料合併成一個完整的資料。
func connectionDidFinishLoading(connection: NSURLConnection) {
}
當資料傳送完成時會觸發的func,此時就可以得到下載完成的NSMutableData,使用NSXMLParser就可以解析Data,讓我們應用。