移動開發過程中,很多時候,我們的數據來自網絡別人提供的數據接口,所以我們做app的時候,需要用別人提供的接口把數據解析下載到本地,然後建立數據模型,再把數據顯示到UI 界面上,網絡上一搬提供兩種數據的接口
Json 數據,xml 數據.
1.Json 下載並解析
//.m 文件中定義兩個對象
@interface ViewController ()<NSURLConnectionDataDelegate>
{
NSURLConnection *_urlConnection; //用於下載的對象
NSMutableData *_downloadData; //存儲下載的數據
}
//然後需要在viewDIdLoad 方法中去初始化兩個對象:
- (void)viewDidLoad
{
NSString *urlString=@"http://192.168.88.8/sns/my/user_list.php?page=1d&number=20";
//創建並初始化_urlConnection 對象
//參數說明:
//參數1.initWithRequest:網絡請求url
// 參數2. delegate 網絡請求成功後處理事件,需要遵守 NSURLConnectionDataDelegate協議,
//參數3.startImmediately 是否立即下載,一般都是YES
_urlConnection=[[NSURLConnection alloc]initWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]] delegate:self startImmediately:YES];
//創建_downloadData 並初始化對象
_downloadData=[[NSMutableData alloc]init];
}
//遵守NSURLConnectionDataDelegate協議的方法
//當接收到服務器響應時執行
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSLog(@"開始下載數據");
}
//作用當接收到數據時執行,下載數據較多的時候執行,需要將每次下載的數據合併到一起
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
//每次下載到數據都添加到數據中
NSLog(@"下載數據中");
[_downloadData appendData:data];
}
//下載完成
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
//數據下載完成後,解析下載完成的數據
//Serialization 把json格式的數據,解析爲oc 的數據類型
//Json 格式的最上層是什麼數據類型,就定義什麼數據類型去接收數據
NSDictionary *dict= [NSJSONSerialization JSONObjectWithData:_downloadData options: NSJSONReadingMutableContainers error:nil ];
//打印驗證數據是否解析成功
NSLog(@"dict=%@",dict);
//接着建立數據模型存儲數據
………
}
iOS 網絡數據請求和Json 解析
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
iOS微信登錄功能的實現
hongxinhope
2018-08-27 18:46:06
iOS判斷字符串是否符合格式要求
hongxinhope
2018-08-27 18:46:05
iPhone真機測試過程詳解(Xcode5最新)
布鲁斯的忧伤
2018-08-27 18:30:01
分享iOS開發的精品書籍
布鲁斯的忧伤
2018-08-27 18:30:00
升級到XCode5.1報錯的解決辦法
布鲁斯的忧伤
2018-08-27 18:30:00
Xcode5 基本配置信息
布鲁斯的忧伤
2018-08-27 18:29:59
iOS NSAttributedStr
枫夜泊语
2018-08-27 18:07:36
iOS圖文混排的簡單實現
枫夜泊语
2018-08-27 18:07:36
加載、滑動翻閱大量圖片解決方案詳解
yangli996
2018-08-27 18:03:01
關於圖片解壓縮,導致scrollView滾動卡頓
sinat_33530489
2018-08-27 17:59:15
應用內特定界面支持橫屏展示實現
KevinHwang_Awake
2018-08-27 17:57:17
ARC切換及開發注意事項
KevinHwang_Awake
2018-08-27 17:57:13
iOS開發方方面
KevinHwang_Awake
2018-08-27 17:57:12
關於iOS 6 部分UIViewController 轉屏問題
钻钻她爹爹
2018-08-27 17:55:18