前言 :
1. 整體項目回顧
距離上次發表文章也有大概兩個月的時間了吧,這段時間一直在忙著公司的項目。沒有時間review代碼(可能是比較懶吧??,以后一定改正),這個"壁紙天氣"前前后后大概花了10天時間,設計、開發都是我(PS:不好看就將就著看,我只是一個有情懷的程序猿??),都是下班了寫寫,代碼比較簡單,結構也不是很復雜。
3. 做這個app的初衷
前面做的高仿項目都是高仿app,數據都是本地數據,這次想玩玩網上的,剛開始只是看到百度ApiStore上有免費的天氣接口,我就試著用了一下,感覺還不錯,那就干脆寫個天氣app玩玩吧。我就想要一個簡單的app,就顯示天氣就好,其余過多的動畫效果不需要,整體的頁面無非就是UITableView
、UICollectionView
和一些 UILabel
、UIButton
的組合,理清楚思路就很好做了,其實UI搭建本身就是一件簡單的事情,難的在于業務和邏輯的處理上。
3.為什么叫壁紙天氣?
為了彌補畫面的突兀感,主要是大片大片的白,我也不懂如何配色,我都用一張圖片當做背景,O(∩_∩)O~~,所以我就起名叫做"壁紙天氣"了。
項目的整體介紹:
1. 功能簡介:
Tips:功能比較少,有以下幾個:
①. 顯示天氣:首頁顯示添加過的城市的天氣
②. 添加城市: 僅限與國內。
③. 管理已經添加的城市
2. 功能展示:
①. 天氣展示主頁面 :類似于首頁
點擊每一個城市,彈出天氣詳情View,會顯示該城市的歷史天氣和預測天氣,其中今日天氣還有諸如感冒指數、穿衣指數等一些提示。
②. 添加城市
輸入城市中文名,然后展示搜索結果,選擇要添加的城市即可。
③. 管理已經添加的城市
點擊X刪除選擇的城市,
③. 關于作者(PS:這一部分其實不算功能了吧??)
3. 項目的實現方法:
①. 開發過程中,大多數采用xib,我從純代碼的海洋里爬出來,看到了xib的新大陸??,xib使用還是很方便的,代碼量也少了很多,可是我依然喜歡純代碼??
②. 數據的來源、請求與處理:
-----1.數據來源于百度ApiStore中的兩個免費的天氣接口,返回的數據都是JSON字符串:
第一個:根據城市中文名稱 查詢城市ID
第二個: 根據城市ID查詢近7天的天氣
圖片展示:
-----2.數據請求:
使用
NSURLSession
對應兩個接口 封裝了兩個請求,沒有使用第三方庫。-----3.數據處理:
① 根據JSON字符串寫了對應的模型,使用
MJExtension
解析JSON,并轉成對應的model
②數據存儲采用
NSUserDefaults
,對于項目的城市的存儲操作封裝了一個類CityManager
,管理所有的存儲、讀取操作(比如 返回熱門城市列表、返回當前已選擇的城市)Tips:由于
NSUserDefaults
不能存儲自定義對象,所以需要先歸檔后存儲
項目感想:
好吧,還沒有怎么寫就到項目感想了,這個項目結構非常簡單,東西也比較少,但是麻雀雖小、五臟俱全,本地存儲、網絡請求都有,主要是這個
方正喵嗚
字體真的非常萌啊,基本上所有的文字都采用的這個字體。由于精力有限,對應各種天氣的圖片并不全,只有幾個大分類,比如''小雨"、"中雨"、"大雨"我都用的一個圖片???,所以如果覺得粗糙,請見諒,哈哈。
正兒八經的說,做完這個小app,最主要的一個感想就是 "做很簡單,做好就不容易了"
好吧,第一彈就到這里了