前言 :
1. 整體項目回顧
距離上次發(fā)表文章也有大概兩個月的時間了吧,這段時間一直在忙著公司的項目。沒有時間review代碼(可能是比較懶吧??,以后一定改正),這個"壁紙?zhí)鞖?前前后后大概花了10天時間,設(shè)計、開發(fā)都是我(PS:不好看就將就著看,我只是一個有情懷的程序猿??),都是下班了寫寫,代碼比較簡單,結(jié)構(gòu)也不是很復(fù)雜。
3. 做這個app的初衷
前面做的高仿項目都是高仿app,數(shù)據(jù)都是本地數(shù)據(jù),這次想玩玩網(wǎng)上的,剛開始只是看到百度ApiStore上有免費的天氣接口,我就試著用了一下,感覺還不錯,那就干脆寫個天氣app玩玩吧。我就想要一個簡單的app,就顯示天氣就好,其余過多的動畫效果不需要,整體的頁面無非就是UITableView、UICollectionView和一些 UILabel、UIButton的組合,理清楚思路就很好做了,其實UI搭建本身就是一件簡單的事情,難的在于業(yè)務(wù)和邏輯的處理上。
3.為什么叫壁紙?zhí)鞖猓?/strong>
為了彌補畫面的突兀感,主要是大片大片的白,我也不懂如何配色,我都用一張圖片當(dāng)做背景,O(∩_∩)O~~,所以我就起名叫做"壁紙?zhí)鞖?了。
項目的整體介紹:
1. 功能簡介:
Tips:功能比較少,有以下幾個:
①. 顯示天氣:首頁顯示添加過的城市的天氣
②. 添加城市: 僅限與國內(nèi)。
③. 管理已經(jīng)添加的城市
2. 功能展示:
①. 天氣展示主頁面 :類似于首頁

點擊每一個城市,彈出天氣詳情View,會顯示該城市的歷史天氣和預(yù)測天氣,其中今日天氣還有諸如感冒指數(shù)、穿衣指數(shù)等一些提示。

②. 添加城市
輸入城市中文名,然后展示搜索結(jié)果,選擇要添加的城市即可。

③. 管理已經(jīng)添加的城市
點擊X刪除選擇的城市,

③. 關(guān)于作者(PS:這一部分其實不算功能了吧??)

3. 項目的實現(xiàn)方法:
①. 開發(fā)過程中,大多數(shù)采用xib,我從純代碼的海洋里爬出來,看到了xib的新大陸??,xib使用還是很方便的,代碼量也少了很多,可是我依然喜歡純代碼??
②. 數(shù)據(jù)的來源、請求與處理:
-----1.數(shù)據(jù)來源于百度ApiStore中的兩個免費的天氣接口,返回的數(shù)據(jù)都是JSON字符串:
第一個:根據(jù)城市中文名稱 查詢城市ID
第二個: 根據(jù)城市ID查詢近7天的天氣
圖片展示:

-----2.數(shù)據(jù)請求:
使用
NSURLSession對應(yīng)兩個接口 封裝了兩個請求,沒有使用第三方庫。-----3.數(shù)據(jù)處理:
① 根據(jù)JSON字符串寫了對應(yīng)的模型,使用
MJExtension解析JSON,并轉(zhuǎn)成對應(yīng)的model②數(shù)據(jù)存儲采用
NSUserDefaults,對于項目的城市的存儲操作封裝了一個類CityManager,管理所有的存儲、讀取操作(比如 返回?zé)衢T城市列表、返回當(dāng)前已選擇的城市)Tips:由于
NSUserDefaults不能存儲自定義對象,所以需要先歸檔后存儲
項目感想:
好吧,還沒有怎么寫就到項目感想了,這個項目結(jié)構(gòu)非常簡單,東西也比較少,但是麻雀雖小、五臟俱全,本地存儲、網(wǎng)絡(luò)請求都有,主要是這個方正喵嗚字體真的非常萌啊,基本上所有的文字都采用的這個字體。由于精力有限,對應(yīng)各種天氣的圖片并不全,只有幾個大分類,比如''小雨"、"中雨"、"大雨"我都用的一個圖片???,所以如果覺得粗糙,請見諒,哈哈。
正兒八經(jīng)的說,做完這個小app,最主要的一個感想就是 "做很簡單,做好就不容易了"
好吧,第一彈就到這里了