118 lines
2.7 KiB
Objective-C
118 lines
2.7 KiB
Objective-C
//
|
||
// UMComRequestTableViewController.h
|
||
// UMCommunity
|
||
//
|
||
// Created by umeng on 15/11/16.
|
||
// Copyright © 2015年 Umeng. All rights reserved.
|
||
//
|
||
|
||
#import <UIKit/UIKit.h>
|
||
#import <Foundation/Foundation.h>
|
||
#import "UMComListDataController.h"
|
||
#import <UMComDataStorage/UMComDataBaseManager.h>
|
||
|
||
typedef void (^UMComLoadSeverDataCompletionHandler)(NSArray *data,NSError *error);
|
||
|
||
@protocol UMComScrollViewDelegate;
|
||
|
||
@class UMComHeadView,UMComFootView;
|
||
|
||
|
||
@interface UMComRequestTableViewController : UIViewController<UITableViewDelegate, UITableViewDataSource>
|
||
|
||
|
||
/**
|
||
*继承与UMComRequestTableViewController的TableViewController都带有一个dataController,负责处理为TableViewController处理数据和业务逻辑,并未tableView提供显示的model
|
||
*/
|
||
@property (nonatomic, strong) UMComListDataController *dataController;
|
||
|
||
/**
|
||
* tableView
|
||
*/
|
||
@property (nonatomic, strong) UITableView *tableView;
|
||
|
||
/**
|
||
*下拉刷新控件
|
||
*/
|
||
@property (nonatomic, strong) UMComHeadView *refreshHeadView;
|
||
|
||
/**
|
||
*上拉加载控件
|
||
*/
|
||
@property (nonatomic, strong) UMComFootView *refreshFootView;
|
||
|
||
///**
|
||
// *下拉刷新控件
|
||
// */
|
||
//@property (nonatomic, strong) UIRefreshControl *refreshControl;
|
||
|
||
/**
|
||
*显示数据为空或网络问题label
|
||
*/
|
||
@property (nonatomic, strong) UILabel *noDataTipLabel;
|
||
|
||
/**
|
||
*tableView上次滚动的位置
|
||
*/
|
||
@property (nonatomic, assign, readonly) CGPoint lastPosition;
|
||
|
||
/**
|
||
*是否自动加载数据
|
||
*/
|
||
@property (nonatomic, assign) BOOL isAutoStartLoadData;
|
||
|
||
/**
|
||
*网络数据是否加载完成
|
||
*/
|
||
@property (nonatomic, assign) BOOL isLoadFinish;
|
||
|
||
/**
|
||
*是否显示数据为空的提示
|
||
*/
|
||
@property (nonatomic, assign) BOOL doNotShowNodataNote;
|
||
|
||
/**
|
||
*tableView滚动delegate
|
||
*/
|
||
@property (nonatomic, weak) id<UMComScrollViewDelegate> scrollViewDelegate;
|
||
|
||
@property (nonatomic, copy) UMComLoadSeverDataCompletionHandler refreshSeverDataCompletionHandler;
|
||
@property (nonatomic, copy) UMComLoadSeverDataCompletionHandler loadMoreDataCompletionHandler;
|
||
|
||
|
||
- (BOOL)isBeginScrollBottom:(UIScrollView *)scrollView;
|
||
- (BOOL)isScrollToBottom:(UIScrollView *)scrollView;
|
||
|
||
#pragma mark - data request method
|
||
/**
|
||
* 请求本地数据(先请求本地数据在请求网络数据,适合没网的时候显示本地数据)
|
||
*/
|
||
- (void)fetchLocalData;
|
||
|
||
/**
|
||
*刷新数据(第一页数据)
|
||
*/
|
||
- (void)refreshData;
|
||
|
||
/**
|
||
* 加载更多(下一页数据)
|
||
*/
|
||
- (void)loadMoreData;
|
||
|
||
#pragma mark - data handle method
|
||
/**
|
||
*处理本地数据
|
||
*/
|
||
- (void)handleLocalData:(NSArray *)data error:(NSError *)error;
|
||
/**
|
||
*处理网络请求第一页数据
|
||
*/
|
||
- (void)handleFirstPageData:(NSArray *)data error:(NSError *)error;
|
||
/**
|
||
*处理网络请求下一页数据
|
||
*/
|
||
- (void)handleNextPageData:(NSArray *)data error:(NSError *)error;
|
||
|
||
@end
|
||
|