在這篇裡,我們要學習的目標:
1. 解析遠程的JSON數據
2. 分頁顯示數據
3. 學習Category的使用
概述
IOS5.0開始支持JSON,所以不用第三方的解析了,主要用於這三個對象:NSDictionary、NSData、NSJSONSerializatio
今天我們做一個天氣預報數據的展示,通過國家氣象局提供的天氣預報接口來獲取數據。注:以實現功能為主,不做過多的界面上展示
View Code
1 {
2 "weatherinfo":{
3 "city":"北京",
4 "city_en":"beijing",
5 "date_y":"2012年9月5日",
6 "date":"",
7 "week":"星期三",
8 "fchh":"11",
9 "cityid":"101010100",
10 "temp1":"27℃~17℃",
11 "temp2":"24℃~17℃",
12 "temp3":"25℃~17℃",
13 "temp4":"27℃~16℃",
14 "temp5":"28℃~17℃",
15 "temp6":"26℃~17℃",
16 "tempF1":"80.6℉~62.6℉",
17 "tempF2":"75.2℉~62.6℉",
18 "tempF3":"77℉~62.6℉",
19 "tempF4":"80.6℉~60.8℉",
20 "tempF5":"82.4℉~62.6℉",
21 "tempF6":"78.8℉~62.6℉",
22 "weather1":"晴轉陰",
23 "weather2":"陣雨",
24 "weather3":"陣雨轉多雲",
25 "weather4":"多雲轉晴",
26 "weather5":"晴",
27 "weather6":"多雲轉陣雨",
28 "img1":"0",
29 "img2":"2",
30 "img3":"3",
31 "img4":"99",
32 "img5":"3",
33 "img6":"1",
34 "img7":"1",
35 "img8":"0",
36 "img9":"0",
37 "img10":"99",
38 "img11":"1",
39 "img12":"3",
40 "img_single":"0",
41 "img_title1":"晴",
42 "img_title2":"陰",
43 "img_title3":"陣雨",
44 "img_title4":"陣雨",
45 "img_title5":"陣雨",
46 "img_title6":"多雲",
47 "img_title7":"多雲",
48 "img_title8":"晴",
49 "img_title9":"晴",
50 "img_title10":"晴",
51 "img_title11":"多雲",
52 "img_title12":"陣雨",
53 "img_title_single":"晴",
54 "wind1":"微風",
55 "wind2":"微風",
56 "wind3":"微風",
57 "wind4":"微風",
58 "wind5":"微風",
59 "wind6":"微風",
60 "fx1":"微風",
61 "fx2":"微風",
62 "fl1":"小於3級",
63 "fl2":"小於3級",
64 "fl3":"小於3級",
65 "fl4":"小於3級",
66 "fl5":"小於3級",
67 "fl6":"小於3級",
68 "index":"暖",
69 "index_d":"較涼爽,建議著長袖襯褲等春秋過渡裝。體弱者宜著長袖襯衫和馬甲。但晝夜溫差較大,請適當增減衣服。",
70 "index48":"暖",
71 "index48_d":"較涼爽,建議著長袖襯衫加單褲等春秋過渡裝。年老體弱者宜著針織長袖襯衫、馬甲和長褲。",
72 "index_uv":"中等",
73 "index48_uv":"弱",
74 "index_xc":"不宜",
75 "index_tr":"適宜",
76 "index_co":"較舒適",
77 "st1":"26",
78 "st2":"17",
79 "st3":"22",
80 "st4":"16",
81 "st5":"23",
82 "st6":"17",
83 "index_cl":"適宜",
84 "index_ls":"適宜",
85 "index_ag":"易發"
86 }
87 }
Category 是Objective-C 裡面最常用到的功能之一。簡單的講Category可以為已經存在的類增加方法,而不需要增加一個子類。而且,我們可以在不知道某個類內部實現的情況下,為該類增加方法。如果我們想增加某個框架(framework)中的類的方法,Category就非常有效。比如,今天的內容中,就想在NSDictionary上增加一個方法來直接處理URL遠程數據,後面有詳細代碼。 定義格式如下:
1 #import "類名.h"
2 @interface 類名(類別名)
3 //新方法的聲明
4 @end