Swift5+MVVM+文藝復(fù)興微博(純代碼)

背景: 現(xiàn)在越來越多的公司會嘗試用 Swift 做 native 的開發(fā)了,很多之前習(xí)慣用 Objective-C 的開發(fā),有新項(xiàng)目啟動的時候,也會想說用 Swift 試試。如果從  2020年編程語言排行榜 上看的話,Swift的熱度也領(lǐng)先 Objective-C 10個身位了。而我們現(xiàn)在公司所做的項(xiàng)目,也是用 Swift 開發(fā)的,雖然說之前有些 OC 基礎(chǔ),寫起 Swift 功能也是能實(shí)現(xiàn),但是代碼不是很優(yōu)雅,不夠 'Swift Style'。 熟練度不夠的話,很多 Swift 的高級寫法還得去翻文檔才知道什么意思,所以就打算從0單排一個Swift的項(xiàng)目,而微博正好有  開放API , 所以這里就選擇它了。

10年的播州網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整播州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“播州網(wǎng)站設(shè)計(jì)”,“播州網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

主頁界面

Swift5 + MVVM + 文藝復(fù)興微博(純代碼)

表情界面

Swift5 + MVVM + 文藝復(fù)興微博(純代碼)

項(xiàng)目架構(gòu)

Swift5 + MVVM + 文藝復(fù)興微博(純代碼)

項(xiàng)目功能

  • 原創(chuàng)微博功能
  • 轉(zhuǎn)發(fā)微博功能
  • Emoji表情功能
  • 撰寫微博界面
  • 新特性功能
  • 消息提醒功能
  • 多圖展示功能
  • 富文本功能
  • 多圖展示功能
  • 下滑自動加載功能
  • 上/下拉刷新功能
  • OAuth 授權(quán)登錄功能
  • 已完成
  • 發(fā)布微博功能(API已不提供)
  • 圖片上傳功能(API已不提供)
  • 消息功能
  • 發(fā)現(xiàn)功能
  • 我的功能
  • SVProgressHUD 提醒功能

用到的技術(shù)點(diǎn)

  • TableView高度緩存
  • SDWebImage圓角處理
  • FMDB數(shù)據(jù)緩存
  • OAuth授權(quán)
  • 單張圖片的高度計(jì)算
  • Cell滾動自動加載更多
  • 撰寫頁面的動畫處理
  • 發(fā)布界面的Emoji處理
  • 多圖的展示
  • ...

不足點(diǎn)

  • Weibo 的 App 包里的素材圖片實(shí)在太多了,找到完全匹配的要花費(fèi)超多時間,所以有的資源不是很匹配,或者不是當(dāng)前最新的
  • 該Demo使用了FMDB,其實(shí)微博這種時效性畢竟高,且有較高政治敏感度的,不適合用本地緩存, 這里只是一個 FMDB 使用的簡單案例,更適合更新不用太及時,或者類似qq這種接收服務(wù)端推送消息的app.
  • 這個文藝復(fù)興版的微博(2016年的),現(xiàn)在的微博已經(jīng)有了較大的變動,且很多API接口現(xiàn)在已經(jīng)不開放了,所以暫時先用此懷舊版本.
  • SVProgressHUD 在Swift5.0會crash,所以這個app里沒有 toast 功能,坐等修復(fù)...
  • Gif圖片由于現(xiàn)在門戶網(wǎng)站只能傳 < 5M 的,所以看上去畢竟模糊,實(shí)際效果會比 Gif 圖片好得多,建議用真機(jī)跑一下試試~
  • 這版本來打算用本人拙劣的英文寫全篇的注釋,后來由于本人 Chinelish 水平有限,畢竟復(fù)雜的邏輯/業(yè)務(wù)就用中文寫了( 求輕噴)
  • ...

使用的第三方庫

  • AFNetworking
  • SDWebImage
  • YYModel
  • SnapKit
  • FMDB
  • pop
  • HMPhotoViewerController

工具分享

圖片素材獲取:  cartool

取色標(biāo)注工具:  MarkMan

數(shù)據(jù)庫工具:  Navicat

畫圖工具:  MindNode

...

總結(jié)

從事了一段時間的 Swift 開發(fā),發(fā)現(xiàn)沒有一定量的代碼積淀(踩坑)還是不行,所以就打算自己寫一個入門的純Swift App。這個項(xiàng)目是本萌新的第一個發(fā)布swift項(xiàng)目,有些粗糙,但是如果新手作為 Swift 上手,入門的,其實(shí)應(yīng)該還可以。該項(xiàng)目基本都是用的 “純代碼+純Swift” 的方式寫的,用的也是盡量新的 API, 萌新們想玩的話感覺還是可以上手的。

最近發(fā)現(xiàn), 時間管理 真的很重要,很多事情,一開始以為自己做不到,就打退堂鼓了,但是只要咬咬牙,挑戰(zhàn)一下自己的極限,這不,這個Demo就出來了~ (為了寫這破玩意,老夫都頸椎病去做針灸了,騙波 star不過分吧~ (開玩笑的,大家開心就好????))

覺得哪里寫的不好的,哪里能改進(jìn)的,有時間幫忙做code review,提PR的,熱烈歡迎啊,這里先謝過了~


本文Demo: MNWeibo

推薦????:

如果你想一起進(jìn)階,不妨添加一下交流群 1012951431

面試題資料或者相關(guān)學(xué)習(xí)資料都在群文件中 進(jìn)群即可下載!

Swift5 + MVVM + 文藝復(fù)興微博(純代碼)

網(wǎng)站題目:Swift5+MVVM+文藝復(fù)興微博(純代碼)
網(wǎng)頁網(wǎng)址:http://www.muchs.cn/article18/gdgsgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作網(wǎng)站建設(shè)、域名注冊、App開發(fā)關(guān)鍵詞優(yōu)化、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)