單糖——良品生活指南:家居零食宵喂、禮物美妝糠赦、海淘購(gòu)物
感興趣的朋友可以去 app store 下載
iOS 版下載地址
說(shuō)明
本程序僅供學(xué)習(xí)交流,不可用于任何商業(yè)用途。
說(shuō)明
因?yàn)楣臼褂玫氖?Objective-C 開(kāi)發(fā) app拙泽,沒(méi)有使用 swift 來(lái)開(kāi)發(fā)淌山,所以決定自己研究 Swift,研究 Swift 的時(shí)間不長(zhǎng)顾瞻,對(duì)于 Swift 的基本語(yǔ)法有了大致的了解泼疑,但是對(duì)有些概念和語(yǔ)法還是理解的不深,所以決定模仿一些已經(jīng)發(fā)布的 app荷荤,一方面可以讓自己更好地理解和使用 Swift退渗,另一方面可以和志同道合的人一起交流,共同進(jìn)步蕴纳。
使用 Swift 模仿的第一個(gè) app 是單糖会油,總體來(lái)說(shuō)界面搭建還算簡(jiǎn)單,而且結(jié)構(gòu)不是很復(fù)雜古毛,本次項(xiàng)目完成了大部分界面翻翩,對(duì)于項(xiàng)目中的數(shù)據(jù)接口都是通過(guò) Charles 抓包獲得,基本每個(gè)界面都是有數(shù)據(jù)請(qǐng)求喇潘,不會(huì)抓包的朋友可以看我 這一篇文章体斩。
項(xiàng)目中有的地方代碼寫(xiě)的不是很簡(jiǎn)潔,畢竟自己能力有限颖低,對(duì) Swift 使用不是很熟練絮吵,還請(qǐng)各位朋友不喜勿噴。在本文的最后忱屑,有項(xiàng)目的完整源碼蹬敲,喜歡的朋友可以下載下來(lái),如果您感覺(jué)我寫(xiě)的代碼對(duì)您有所幫助莺戒,還請(qǐng)?jiān)?github 給個(gè) star伴嗡,非常感謝您的支持!~
項(xiàng)目截圖
項(xiàng)目環(huán)境
項(xiàng)目使用 cocoapods 來(lái)管理第三方庫(kù)从铲,所以需要安裝 cocoapods瘪校,安裝方式網(wǎng)上有很多教程,這里不在詳述名段。運(yùn)行項(xiàng)目的前阱扬,請(qǐng)確保安裝了 cocoapods,否則可能會(huì)出現(xiàn)錯(cuò)誤伸辟。
- Xcode 8.2.1
- Swift 3.0
- iOS 8.0
使用到的第三方庫(kù):
- SwiftyJSON - 解析 JSON 數(shù)據(jù)
- SnapKit - 設(shè)置約束
- Kingfisher - 緩存圖片
- SVProgressHUD - 提示框
- FDFullscreenPopGesture - 側(cè)滑手勢(shì)
- Alamofire - 網(wǎng)絡(luò)請(qǐng)求
項(xiàng)目結(jié)構(gòu)
由于剛接觸 Swift麻惶,以及對(duì) MVVM 的理解的不深,所以沒(méi)有使用 MVVM 設(shè)計(jì)模式信夫,項(xiàng)目使用傳統(tǒng)的 MVC 設(shè)計(jì)模式窃蹋。
項(xiàng)目中只在首頁(yè)加入了下拉刷新功能卡啰,其他界面未加入上拉和下拉刷新功能,后面有時(shí)間會(huì)完善警没。
下面是項(xiàng)目的完整結(jié)構(gòu)
- 首頁(yè)(單糖)
- Model
- YMChannel.swift
- YMHomeItem.swift
- YMSearchResult.swift
- View
- YMHomeCell.swift
- YMHomeCell.xib
- YMRefreshControl.swift
- YMRefreshView.swift
- YMRefreshView.xib
- YMSearchRecordView.swift
- YMSortCell.swift
- YMSortCell.xib
- YMSortTableView.swift
- Controller
- YMDanTangViewController.swift
- YMTopicViewController.swift
- YMDetailViewController.swift
- YMSearchViewController.swift
- Model
- Product(單品)
- Model
- YMProduct.swift
- YMProductDetail.swift
- YMComment.swift
- View
- YMActionSheet.swift
- YMCollectionViewCell.swift
- YMCollectionViewCell.xib
- YMDetailChoiceButtonView.swift
- YMDetailChoiceButtonView.xib
- YMDetailCollectionViewCell.swift
- YMDetailCollectionViewCell.xib
- YMProductDetailBottomView.swift
- YMProductDetailToolBar.swift
- YMProductDetailToolBar.xib
- YMProductDetailTopView.swift
- YMShareButtonView.swift
- YMDetailScrollView.swift
- YMCommentCell.swift
- YMCommentCell.xib
- Controller
- YMProductViewController.swift
- YMProductDetailViewController.swift
- YMTMALLViewController.swift
- YMTMALLViewController.xib
- Model
- Classify(分類(lèi))
- Model
- YMCollection.swift
- YMCollectionPost.swift
- YMGroup.swift
- View
- YMCategoryBottomView.swift
- YMCategoryCollectionViewCell.swift
- YMCategoryCollectionViewCell.xib
- YMCollectionTableViewCell.swift
- YMCollectionTableViewCell.xib
- YMSeeAllTopicCell.swift
- YMSeeAllTopicCell.xib
- YMTopHeaderView.swift
- YMTopHeaderView.xib
- YMVerticalButton.swift
- Controller
- YMCategoryHeaderViewController.swift
- YMCategoryViewController.swift
- YMCollectionDetailController.swift
- YMCollectionDetailController.xib
- YMPostDetailViewController.swift
- YMPostDetailViewController.xib
- YMSeeAllController.swift
- YMSeeAllController.xib
- Model
- Me(我)
- Model
- YMSetting.swift
- View
- YMMeChoiceView.swift
- YMMeFooterView.swift
- YMMineHeaderView.swift
- YMSettingCell.swift
- YMSettingCell.xib
- Controller
- YMMessageViewController.swift
- YMMeViewController.swift
- YMSettingViewController.swift
- Model
- Login&Register(登錄和注冊(cè))
- Controller
- YMLoginViewController.swift
- YMLoginViewController.xib
- YMRegisterViewController.swift
- YMRegisterViewController.xib
- YMNewfeatureViewController.swift
- Controller
- Main(主要)
- Category
- String+Extension.swift
- UITableView+EmptyData.swift
- UIView+Extension.swift
- Controller
- YMBaseViewController.swift
- YMNavigationController.swift
- YMTabBarController.swift
- Tools
- YMConst.swift
- YMNetworkTool.swift
- Category