/DanTang

Swift开源项目-单糖

Primary LanguageSwiftMIT LicenseMIT

单糖——良品生活指南:家居零食、礼物美妆、海淘购物

感兴趣的朋友可以去 app store 下载


说明 本程序仅供学习交流,不可用于任何商业用途。

说明

因为公司使用的是 Objective-C 开发 app,没有使用 swift 来开发,所以决定自己研究 Swift,研究 Swift 的时间不长,对于 Swift 的基本语法有了大致的了解,但是对有些概念和语法还是理解的不深,所以决定模仿一些已经发布的 app,一方面可以让自己更好地理解和使用 Swift,另一方面可以和志同道合的人一起交流,共同进步。

使用 Swift 模仿的第一个 app 是单糖,总体来说界面搭建还算简单,而且结构不是很复杂,本次项目完成了大部分界面,对于项目中的数据接口都是通过 Charles 抓包获得,基本每个界面都是有数据请求,不会抓包的朋友可以看我 这一篇文章

项目中有的地方代码写的不是很简洁,毕竟自己能力有限,对 Swift 使用不是很熟练,还请各位朋友不喜勿喷。在本文的最后,有项目的完整源码,喜欢的朋友可以下载下来,如果您感觉我写的代码对您有所帮助,还请在 github 给个 star,非常感谢您的支持!~

项目截图

单糖

首页

单品

单品详情

攻略详情

图文介绍

评论

分享

分类

搜索

我

设置

项目环境

项目使用 cocoapods 来管理第三方库,所以需要安装 cocoapods,安装方式网上有很多教程,这里不在详述。

  • Xcode 8.2.1
  • Swift 3.0
  • iOS 8.0

使用到的第三方库:

  • SwiftyJSON - 解析 JSON 数据
  • SnapKit - 设置约束
  • Kingfisher - 缓存图片
  • SVProgressHUD - 提示框
  • FDFullscreenPopGesture - 侧滑手势
  • Alamofire - 网络请求

项目结构

项目结构

由于刚接触 Swift,以及对 MVVM 的理解的不深,所以没有使用 MVVM 设计模式,项目使用传统的 MVC 设计模式。

下面是项目的完整结构

  • 首页(单糖)
  • 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
  • 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
  • Classify(分类)
  • 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
  • Me(我)
    • Model
      • YMSetting.swift
    • View
    • YMMeChoiceView.swift
    • YMMeFooterView.swift
    • YMMineHeaderView.swift
    • YMSettingCell.swift
    • YMSettingCell.xib
    • Controller
    • YMMessageViewController.swift
    • YMMeViewController.swift
    • YMSettingViewController.swift
  • Login&Register(登录和注册)
  • Controller
  • YMLoginViewController.swift
  • YMLoginViewController.xib
  • YMRegisterViewController.swift
  • YMRegisterViewController.xib
  • YMNewfeatureViewController.swift
  • Main(主要)
  • Category
  • String+Extension.swift
  • UITableView+EmptyData.swift
  • UIView+Extension.swift
  • Controller
  • YMBaseViewController.swift
  • YMNavigationController.swift
  • YMTabBarController.swift
  • Tools
  • YMConst.swift
  • YMNetworkTool.swift

项目文档和数据接口

抓取的数据接口请看 单糖数据接口单糖数据接口详细数据

下载项目之后,点击此处,查看项目文档 项目文档 或者直接打开文件目录 『docs/index.html』。

运行项目出现的问题都可以给我留言或者直接加我的 QQ 联系,我会尽快回复。

喜欢的朋友希望可以给个 Star,十分感谢您的支持!~