2015年1月22日 星期四

[Objective-C] 使用NSURLConnection - 來取得網站資料(sendSynchronousRequest)

在此介紹NSURLConnection,取得網站資料的方法

使用這個物件方法

+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error;

此方法是同步下載,可能會卡住整個APP,使用者體驗可能較差

這個例子我們會從網站下載一個JSON文件,JSON文件的網址如下:

http://data.taipei.gov.tw/opendata/apply/json/RkRDNjk0QzUtNzdGRC00ODFCLUJBNDktNEJCMUVCMDc3ODFE

先宣告NSURL物件,並透過此NSURL來產生NSURLRequest物件:

NSURL *url = [NSURL URLWithString:kJSON];
NSURLRequest *request = [NSURLRequest requestWithURL:url];

呼叫該類別方法,並將載下來的資料存入NSData

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

最後將data轉型成你要的格式,就能做利用了。

NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
NSLog(@"%@" , dict);

沒有留言:

張貼留言