새로 고침 방식
인터넷 노트
+(void)getComicDataWithStartId:(int)startId complete:(void(^)(NSArray *array))
//1. manager
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
//2.
[manager GET:Comic_Get parameters:@{@"pageSize":@5, @"startIdx":[NSNumber numberWithInt:startId]} success:^(NSURLSessionDataTask *task, id responseObject) {
//3.
NSMutableArray * dataArray = [[NSMutableArray alloc] init];
//
for (NSDictionary * dict in responseObject) {
//
YTModel * model = [[YTModel alloc] initWithDict:dict];
//
[dataArray addObject:model];
}
// block
complete(dataArray);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@" ");
complete(@[@" "]);
}];
}
# 위의 페이지에서 하나의 그룹을 전달했습니다. 사용 방법은 다음 페이지의 데이터 원본 그룹에 전달된 그룹을 추가하는 것입니다//======2. YTNetWorkManager ========
[YTNetWorkManager getComicDataWithStartId:(int)self.dataArray.count complete:^(NSArray *array) {
//blcok
[self.dataArray addObjectsFromArray:array];
[_tableView reloadData];
}];
몇 가지 데이터 리셋 방법 요약: 드롭다운 리셋은 일반적으로 제3자를 통해 하는 MSRfresh
// tableView , tableViewz
self.tableView.mj_heaer = [MJRefreshNormaHeader headerWithRefreshingBlock:^{
//
//
[[NSNotificationCenter defaultCenter]postNotificationName@"loadMoreData" object:@"isRefresh"];
}
}];
2.기본 업로드 추가self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
// block
//
[NSNotificationCenter defaultCenter]postNotificationName:@"loadMore"
object:nil];
}];
3.애니메이션의 업로드 추가MJRefreshAutoGifFooter *footer = [MJRefreshAutoGifFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];
//
NSMutableArray * images = [[NSMutableArray alloc] init];
for (int i = 0; i < 5; i++) {
UIImage * image = [UIImage imageNamed:[NSString stringWithFormat:@"p%d", i]];
[images addObject:image];
}
[footer setImages:images forState:MJRefreshStateRefreshing];
//
self.mj_footer = footer;
!!!!! loadMoreData
- (void)loadMoreData{
[[NSNotificationCenter defaultCenter] postNotificationName:@"loadMore" object:nil];
}
## 리셋 설정이 완료되면 관찰자를 등록하고 데이터를 요청하거나 리셋해야 합니다//- (void)viewDidLoad {
[super viewDidLoad];
//
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getNetData:) name:@"loadMore" object:nil];
//
[self getNetData:nil];
//
[self creatUI];
}
//- (void)getNetData:(NSNotification *)nof{
//======1. =======
//
if ([nof.object isEqualToString:@"isRefresh"]) {
//
[self.dataArray removeAllObjects];
}
//======2. YTNetWorkManager ========
[YTNetWorkManager getComicDataWithStartId:(int)self.dataArray.count complete:^(NSArray *array) {
//blcok
[self.dataArray addObjectsFromArray:array];
[_tableView reloadData];
//
[_tableView.mj_footer endRefreshing];
[_tableView.mj_header endRefreshing];
}];
}
//
//- (void)dealloc{
//
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.