MJShopCar_Swift
效果圖
說明:
這是一個比較常規(guī)的購物車模型 一共包含五個模塊:
-
JVShopcartViewController
: 購物車控制器 負責協(xié)調(diào)Model
和View
只有100多行代碼 -
JVShopcartFormat
: 負責網(wǎng)絡請求與邏輯處理 -
JVShopcartTableViewProxy
: 作為控制器里邊TableView
的代理 -
View
: 包括Cell
葛作、HeaderView
、CountView
(改變商品數(shù)的視圖)郊酒、BottomView
(控制器底部包含結算按鈕的視圖) -
Model
: 包含BrandModel
和ProductModel
兩層
使用:
首先將工程里邊的JVShopcart文件夾拖入你的項目 然后就是開源庫ThirdParty(第三方控件)
文件夾根據(jù)需求處理 Model是一定會改的 但是購物車的Model大同小異 其他的改動不會太大 ,SupportingFile
包含橋接文件 Brigding-Header.h
和 數(shù)據(jù)源 shopcart.plist
铝量,而 Extension
包含是 UILabel 的拓展文件 UILabelExtension.swift
類似 OC 里面的 分類 Category
注意:
-
BrandModel
里邊有兩個成員變量是手動添加進去的:isSelected
和selectedArray
前者是為了記錄某個品牌或者說某個section
是否被選中 后者是結算的時候記錄選中的商品 -
ProductModel
里邊的isSelected
也是手動添加的 也是為了記錄某個商品或者說某個row
是否被選中 -
ThirdParty
文件夾里邊是一些開源庫 布局依賴SnapKit
圖片異步加載依賴SDWebImage
鍵盤的管理依賴IQKeyboardManager
當然你也可以自己處理亡蓉, 等待框SVProgressHUD
-
View
里邊的回調(diào)都是用的Block
JVShopcartFormat
里邊的回調(diào)都是用的delegate
你也可以根據(jù)需求自行選擇具體的回調(diào)方式 - 雖然購物車大同小異 但是總有些奇葩的需求需要自己去處理 肯定是要根據(jù)我的注釋去做一些修改的