논리적이고 명확한 카트 모델
3598 단어 objective-c카트
효과도
설명
일반적인 기능과 개조가 용이한 카트 모델로서 총 5개의 모듈이 포함되어 있습니다.
JVShopcartViewController
: 쇼핑 카트 컨트롤러는 모델과View를 조율하는 데 100여 줄 코드만 있다JVShopcartFormat
: 네트워크 요청 및 논리 처리 담당JVShopcartTableViewProxy
: 컨트롤러의 TableView 에이전트로View
: 셀, HeaderView, CountView(상품 수를 바꾸는 보기), BottomView(컨트롤러 밑에 결제 버튼이 포함된 보기)Model
: BrandModel과 ProductModel 두 층 포함사용
먼저 프로젝트 안에 있는 JVShopcart 폴더를 프로젝트에 끌어다 놓으면 소스 라이브러리 Vendor 폴더가 필요에 따라 처리됩니다. 모델은 반드시 바뀌지만 카트의 모델은 대동소이하고 다른 것은 크게 바뀌지 않습니다.
JVShopcartViewController
에 관해서는 JVShopcartFormatDelegate 프로토콜을 따르기 때문에 프로토콜의 방법은 모두 @required
로 수식된 것이기 때문에 반드시 실현해야 한다.이러한 방법은 다음과 같습니다.- (void)shopcartFormatRequestProductListDidSuccessWithArray:(NSMutableArray *)dataArray;
- (void)shopcartFormatAccountForTotalPrice:(float)totalPrice
totalCount:(NSInteger)totalCount
isAllSelected:(BOOL)isAllSelected;
- (void)shopcartFormatSettleForSelectedProducts:(NSArray *)selectedProducts;
- (void)shopcartFormatHasDeleteAllProducts;
JVShopcartTableViewProxy
에 이를 부여하고 TableView를 새로 고칩니다.JVShopcartViewController
이다. 컨트롤러가 이 데이터를 가지고 밑에 있는 결제 보기 BottomView의 configure 방법을 사용하고 TableView를 리셋한다.UI 업데이트가 완료되었습니다.JVShopcartViewController
을 제거하지만 원본 데이터 원본을 바꾸지 않습니다. 사용자가 언제든지 리셋할 수 있기 때문입니다.JVShopcartFormat
에 관하여 이 유형은 주로 네트워크 요청과 논리 처리, 그리고 결과의 리셋을 책임진다.이러한 방법은 다음과 같습니다.- (void)requestShopcartProductList;
- (void)selectProductAtIndexPath:(NSIndexPath *)indexPath isSelected:(BOOL)isSelected;
- (void)selectBrandAtSection:(NSInteger)section isSelected:(BOOL)isSelected;
- (void)changeCountAtIndexPath:(NSIndexPath *)indexPath count:(NSInteger)count;
- (void)deleteProductAtIndexPath:(NSIndexPath *)indexPath;
- (void)starProductAtIndexPath:(NSIndexPath *)indexPath;
- (void)selectAllProductWithStatus:(BOOL)isSelected;
- (void)settleSelectedProducts;
몇 가지 주의가 필요합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
iOS 메모설 연휴 동안 회사의 프로젝트 시간이 매우 바쁜 데다가 자신이 iOS의 작은 프로젝트를 하나 하고 있기 때문에 퇴근과 주말 시간에 거의 쉬지 않아서 블로그도 태만해졌다. 여기에는 내가 이 작은 프로젝트를 쓸 때 사용...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.