《Crazy Food》項目總結

《Crazy Food》項目的開發已經告一段落,預期目標以及功能基本實現,以下是對項目開發過程中所遇到的問題的總結。

項目完成度

1.項目嚴格按照開發文檔進行開發,項目功能完善,與預期目標一致。
2.項目開發過程中出現的bug已經逐一解決完善,項目的兼容性,穩定性更高。

項目的技術支持

1.該項目需要進行網絡請求數據操作,所以導入了AFNetWorking第三方類庫,AFNetWorking可以進行網絡數據處理,相較Xcode系統自帶的NSURLConnection,請求下來的數據勿需再進行復雜的處理,直接可以使用,同時AFNetWorking自帶圖片處理API,勿需再導入SDWebImage。
2.項目首層五個界面,前四個界面涉及了網絡請求,每個頁面顯示的內容都超過了一個屏幕,因此設置了頁面拉動效果,使用ScrollView來實現,然後在ScrollView上進行頁面佈局。
3.項目的第二層頁面,都是統一使用了UITableView來進行佈局,創建了一個UITableViewCell,對每一個Cell進行自定義,分爲上下兩部分,上部分設置圖片及文字,下部分設置Button。然後再導入UITableViewCell,進行數據請求,頁面佈置。
4.第二層頁面Cell的數量根據網絡請求下來的DataSource的組別來進行計算,每一個Cell的高度都不一樣,而每一個Cell的高度是由上下兩部分的高度之和來算。上半部分由圖片跟文字組成,通過文字的高度來計算上半部分的高度;下半部分由Button組成,需要計算Button的數量,計算出Button之間的間距,然後再計算出下半部分的高度,上下兩部分的高度之和就是一個Cell的高度。
5.第三層頁面跟第二層頁面一樣,都是使用UITableView佈局,只是需要注意的是,第三層頁面請求下來的數據是不一樣的,需要給數據進行分組處理。同樣,Cell的處理也一樣,分組處理的時候需要添加判斷條件。除此之外,其他佈局處理跟第二個頁面一樣。
6.第三層頁面帶有分享功能,導入了微信、微博、QQ的SDK,在第三層頁面這裏進行處理。先設置SDK的代理,實現代理之後,根據官方文檔來進行數據傳輸,就可以實現分享功能。
7.在首層的第五個頁面,實現了清除緩存的功能,我們只需要取到緩存數據的文件夾,給這個Button添加方法,點擊清除數據,刪除緩存的數據,這樣我們重新打開軟件,就需要重新加載數據。
8.該項目的搜索功能中的動畫效果,是使用Cocoa上的案例,直接導入項目,然後根據實際需求進行調整,避免重複造輪子。

項目的經驗總結

1.在該項目的開發過程中,多次使用了封裝的方法進行開發,加深了對代碼封裝的瞭解,深知代碼封裝在項目開發過程中的重要性,培養了封裝的意識。
2.在開發過程中,網絡請求下來的數據需要根據界面的佈置來進行處理,在界面佈置這一塊卡了很久。事後總結的時候,意識到,界面佈局的時候要首先把界面分區進行處理,每一個區域有不同的功能自己要有清晰的思路,再根據不同的功能請求不同的數據,特別是在數據量很多的時候,更應該這樣,只有清晰的思路,開發纔能有效率。
3.瞭解了網絡請求的過程,學會了網絡數據請求的處理,可以看到接口文檔,懂得使用網絡接口。
4.在開發過程,還有很多問題處理起來不是很完善,特別是適配的問題,不同的型號上的佈局會出現差異,這是需要特別重視的一個問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章