Swift开源项目-单糖

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

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

iOS 版下载地址


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

说明

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

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

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

项目截图

单糖
首页
单品
单品详情
攻略详情
图文介绍
评论
分享
分类
搜索
设置

项目环境

项目使用 cocoapods 来管理第三方库,所以需要安装 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 联系,我会尽快回复。

github下载地址

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 11,612评论 4 59
  • 王宝强事件发生以后,奥运运也没人看了,不明真相的吃瓜群众天天等着宝宝的连载,所有流量都给了宝宝。仅两天各路娱乐媒体...
    朗里格朗朗阅读 460评论 0 0
  • #坚持写作30天# 7/30 如何保持亲密感 今天很开心,老婆一起参加了马拉松。在这次跑步之前,她自己也认为,可能...
    崔雅君阅读 278评论 0 1
  • 第8集 如果之前的人生毫无意义,或者并不是你真正期待的,我们也可以像姜哲一样,作废之前所有的记忆,让一切归零,重新...
    迷夏的小岛阅读 5,212评论 0 4
  • 上周末朋友结婚,我做她的伴娘,前一天晚上我们俩躺床上聊天,我问她有什么感觉,她说什么感觉都没有。我笑了笑,我这个旁...
    凪柒阅读 277评论 0 1