Swift實戰項目開發今日頭條(項目產品說明文檔) [復制鏈接]

2019-11-14 16:43
byebye0521 閱讀:339 評論:0 贊:0


產品文檔介紹

目錄介紹

一、網絡封裝/項目基礎模塊

   1-1、項目介紹

   1-2、網絡封裝和宏文件

   1-3、標簽欄創建和item點擊縮放動畫

二、登陸注冊UI

   2-1、動畫彈出登陸注冊視圖

   2-2、注冊頁面搭建

   2-3、注冊頁面優化

   2-4、注冊登陸切換

   2-5、找回密碼

   2-6、找回密碼和協議

   2-7、一鍵登陸

   2-8、郵箱登陸

三、設置頁面

   3-1、設置頁面搭建(上)

   3-2、設置頁面搭建(下)

   3-3、設置頁面邏輯處理

四、登陸注冊信息驗證并提交

   4-1、登陸注冊信息驗證/提示動畫

   4-2、注冊接口/鑰匙串(keychain)存儲

   4-3、多種登陸方式/修改密碼

五、個人中心

   5-1、個人中心頁面搭建

   5-2、個人中心頭部視圖切換

   5-3、搭建修改資料頁面

   5-4、修改頭像/性別

   5-5、修改昵稱/個人介紹頁面搭建

   5-6、修改昵稱/個人介紹信息提交

   5-7、修改生日

   5-8、修改地區

六、首頁

   6-1、首頁搜索/頭部標簽布局搭建

   6-2、搭建首頁內容滑動視圖

   6-3、選中標簽居中和內容滑動關聯

   6-4、自定義首頁不同內容cell

   6-5、首頁頻道分類

   6-6、頻道分類顯示/動畫添加刪除

   6-7、頻道標簽長按拖拽移動換位

   6-8、自定義刷新/搜索推薦列表

七、首頁網絡數據獲取

   7-1、首頁搜索推薦和頻道分類數據

   7-2、首頁標簽和內容數據獲取

   7-3、首頁內容數據轉換

八、西瓜視頻

   8-1、西瓜視頻頁面搭建

   8-2、西瓜視頻數據獲取

九、小視頻

   9-1、小視頻界面及數據

 詳情頁面

 

App整體結構

一、App內部主要分為第三方模塊(如獲取網絡數據,網絡圖片...),好友頁面搭建,不同UI進行封裝方面多個頁面進行復用顯示不同的內容。主要模塊如下圖




二、主要的開源框架介紹

   2.1、網絡請求框架

       在開發過程中對于使用oc的開發者來說一定十分熟悉AFNetworking這個框架,因為在我們OC的App中只要是有關于網絡請求的部分都會通過這個框架來進行網絡請求。而Alamofire就相當于swift版本的AFNetworking。在swift中我們大部分都會使用Alamofire來進行網絡數據處理。使用時盡量通過cocoapods命令來導入這個需要的第三方類庫,導入方法如下:

第一步先打開終端輸入下面兩個命令


cd + 空格+ 項目地址:如/Users/imac/Desktop/text1  + 回車,

vim podfile  +回車進入編輯器 ,編輯器示例代碼如下,紅框中的就是我們需要的網絡請求庫和數據轉換json格式的框架


上圖中“study”可換成自己創建的項目名稱,輸入字母i開始編輯,編輯完后按退出鍵(esc)+ 冒號 + wq 保存退出,在輸入pod install + 回車,出現如下圖內容說明導入成功


再次打開項目多了一個白色工程就是我們要打開的文件,如下圖


Alamofire.swift文件主要有兩個功能:1. 提供了整個框架的入口。2. 向整個框架提供了方便的數據處理方法。

參考鏈接:https://ke.qq.com/course/456018?tuin=9cbdbb86

下面我們看一下如何使用Alamofire這個網絡通訊模塊來封裝進行數據請求,一個簡單的post和get請求如下:


1、首相導入網絡請求框架頭文件import + 框架頭文件

2、請求方式(get、post)

3、封裝方法進行網絡請求獲取數據

4、block回調請求成功后的參數

 參考鏈接:https://ke.qq.com/course/456018?tuin=9cbdbb86

三、其它第三方常用框架

   3.1、圖片加載框架:Kingfisher,使用方法如下:



  第一種加載圖片方式沒有默認圖片顯示

   第二種加載圖片方式加載之前會先顯示默認圖片,我們在實際開發中看情況進行使用

   3.2、上拉加載和下拉刷新(可自定義/第三方(MJRefresh)),使用方法如下

然后實現對應方法就可以

   3.3、適配(可自定義計算位置/第三方(Snapkit),使用方法相當于oc中的Mastory布局框架)

   3.4、視頻播放技術(這個有很多,我們可以自定義AVPlayer,也可以使用以及封裝好的BMPlayer或者其它音視頻播放控件)

 參考鏈接:https://ke.qq.com/course/456018?tuin=9cbdbb86

四、項目開發中常用用到的控件與開發技術

  4.1、列表顯示(tbale/collection)

4.1.1、 cell賦值方法要注意低耦合,高內聚,如可將獲取到數據以后就可以將cell賦值操作放到cell中去處理,如下圖;

   

第一張圖片為傳值方法,第二張圖片為cell賦值方法

   4.2、拖動手勢(UIPanGestureRecognizer)以及根據當前拖動的距離判斷復位還是隱藏當前視圖

   4.3、封裝網絡請求,獲取服務器數據

   4.4、加載網絡圖片

   4.5、頁面控件適配

   4.6、swift類只有一個后綴為.swift的類,oc有兩個(.h\.m)

 參考鏈接:https://ke.qq.com/course/456018?tuin=9cbdbb86

五、開發過程注意事項

5.1、日志統一打印,測試打開,上線關閉

5.2、類名命名,類名規范,以及類名注釋

5.3、方法名命名,規范以及注釋

【領取優惠券】


我來說兩句
您需要登錄后才可以評論 登錄 | 立即注冊
facelist
所有評論(0)
領先的中文移動開發者社區
18620764416
7*24全天服務
意見反饋:[email protected]

掃一掃關注我們

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粵ICP備15117877號 )

重庆时时彩开奖模拟器 动物狂欢多人版 吉林快3专家预测大小单双 福彩3d最大奖800万 新手炒股入门 陕西福利彩票快乐十分 捕鱼来了娱乐网址检测 11选5中奖助手最新手机版本 安徽麻将安卓版 福建十一选五走势图 ag亚游集团官网平台 网赌如何保持稳赚 内蒙古时时五星走势图