购物车单选全选价格计算数量增删等等操作…RAC皆统统搞定.就是这么cool~
开始之前你需要了解的
配置CocoaPods
安装CocoaPods命令
1 2 |
gem install cocoapods ##使用RVM安装的Ruby不需要sudo |
配置ReactiveCocoa
然后在你的Podfile添加一下代码
1 2 3 4 5 6 7 |
platform :ios, '8.0' use_frameworks! target '你的项目工程名' do pod 'ReactiveCocoa' end |
最后输入命令安装
1 2 |
pod install |
另外常用的pod 命令
1 2 3 |
pod install --verbose --no-repo-update ##安装不更新的 pod update --verbose --no-repo-update ##更新需要更新的 |
打开 你的项目工程名.xcworkspace 即可~
RAC在此我就不仔细介绍了,先推荐几遍文章:
Mattt Thompson写的ReactiveCocoa
Ash Furrow写的 Getting Started with ReactiveCocoa
了解MVVM
Google了看几篇有关的文章
MVVM 介绍 译 朱宏旭
简单的介绍一下:
M:model放一些数据模型
V:view视图
V:viewcontroller控制器
VM:viewmodel主要做处理逻辑和处理数据
开始着手代码
项目演示
项目搭建框架
整体文件目录按照模块分一下子文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
ViewController : ViewController ##加载视图事件监听等等 Model : model ##基本数据模型 View : cell ##cell numbercount ##封装加减控件 header ##店铺之类 footer ##小结 cartbar ##封装购物车底部view ViewModel : service ##抽离tableview的datasource和delegate viewmodel ##处理主要的逻辑和数据 |
viewmodel类方法属性解析
获取数据方法
1.循环20个从0到5之间随机取数组里取值加到最终的cartData数组里
2.店铺选择shopSelectArray默认NO状态
3.统计总共购物车数量cartGoodsCount
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
- (void)getData{ //数据个数 NSInteger allCount = 20; NSInteger allGoodsCount = 0; NSMutableArray *storeArray = [NSMutableArray arrayWithCapacity:allCount]; NSMutableArray *shopSelectAarry = [NSMutableArray arrayWithCapacity:allCount]; //创造店铺数据 for (int i = 0; i<allCount; i++) { //创造店铺下商品数据 NSInteger goodsCount = [_shopGoodsCount[self.random] intValue]; NSMutableArray *goodsArray = [NSMutableArray arrayWithCapacitycrayon-sy">; NSMutableArray *goodsArray = [NSMutableArray arrayWithCapacitys
安装CocoaPods命令
配置ReactiveCocoa然后在你的Podfile添加一下代码
最后输入命令安装
另外常用的pod 命令
打开 你的项目工程名.xcworkspace 即可~ RAC在此我就不仔细介绍了,先推荐几遍文章: Mattt Thompson写的ReactiveCocoa Ash Furrow写的 Getting Started with ReactiveCocoa 了解MVVMGoogle了看几篇有关的文章 MVVM 介绍 译 朱宏旭 简单的介绍一下: M:model放一些数据模型 V:view视图 V:viewcontroller控制器 VM:viewmodel主要做处理逻辑和处理数据 开始着手代码项目演示项目搭建框架整体文件目录按照模块分一下子文件
viewmodel类方法属性解析获取数据方法1.循环20个从0到5之间随机取数组里取值加到最终的cartData数组里
|