导入第三方MJRefresh
这里的MJ是 ARC
需MRC改过来就可以 (-fobjc-arc)
引入头文件 "MJRefresh.h" "MJRefreshHeaderView" "MJRefreshFooterView"
// 在刷新加载主体处加一句话,例 : tableView
[self setupRefresh];
复制第三方中部分到工程中,如下
- (void)setupRefresh
{
// 1.下拉刷新(进入刷新状态就会调用self的headerRereshing)
[self.tableView addHeaderWithTarget:self action:@selector(headerRereshing)];
//#warning 自动刷新(一进入程序就下拉刷新)
[self.tableView headerBeginRefreshing];
// 2.上拉加载更多(进入刷新状态就会调用self的footerRereshing)
[self.tableView addFooterWithTarget:self action:@selector(footerRereshing)];
}
#pragma mark开始进入刷新状态
- (void)headerRereshing
{
// 下拉刷新的内容
NSString *str = @"http://iphone.myzaker.com/zaker/v3.0/worldcup_topic_new.php?_appid=iphone&_bsize=640_1136&_dev=iPhone%2C7.1.1&_v=4.4&_version=4.4";
NetworkHandler *network = [[NetworkHandler alloc] init];
[network getDataWithURLString:str completion:^(id result) {
[self.array removeAllObjects];
for (int i = 0; i < [[[[[result objectForKey:@"data"] objectForKey:@"articles"] objectAtIndex:0] objectForKey:@"list"] count]; i++) {
ResArticle *article = [[[ResArticle alloc] init] autorelease];
[article setValuesForKeysWithDictionary:[[[[[result objectForKey:@"data"] objectForKey:@"articles"] objectAtIndex:0] objectForKey:@"list"] objectAtIndex:i]];
[article setValue:result[@"data"][@"articles"][0][@"list"][i][@"article"][@"auther_name"] forKey:@"auther_name"];
[article setValue:result[@"data"][@"articles"][0][@"list"][i][@"article"][@"thumbnail_medias"]forKey:@"thumbnail_medias"];
[article setValue:result[@"data"][@"articles"][0][@"list"][i][@"article"][@"weburl"] forKey:@"weburl"];
[article setValue:result[@"data"][@"articles"][0][@"list"][i][@"article"][@"thumbnail_medias"][0][@"url"] forKey:@"url"];
[article setValue:result[@"data"][@"articles"][0][@"more_url"] forKey:@"more_url"];
[self.array addObject:article];
}
[self.tableView reloadData];
[self.tableView headerEndRefreshing];
}];
}
- (void)footerRereshing
{
// 上拉加载的内容
ResArticle *www = [self.array lastObject];
NSString *str = www.more_url;
NetworkHandler *net = [[NetworkHandler alloc] init];
[net getDataWithURLString:str completion:^(id result) {
for (int i = 0; i < [[[[[result objectForKey:@"data"] objectForKey:@"articles"] objectAtIndex:0] objectForKey:@"list"] count]; i++) {
ResArticle *article = [[[ResArticle alloc] init] autorelease];
[article setValuesForKeysWithDictionary:[[[[[result objectForKey:@"data"] objectForKey:@"articles"] objectAtIndex:0] objectForKey:@"list"] objectAtIndex:i]];
[article setValue:result[@"data"][@"articles"][0][@"list"][i][@"article"][@"auther_name"] forKey:@"auther_name"];
[article setValue:result[@"data"][@"articles"][0][@"list"][i][@"article"][@"thumbnail_medias"]forKey:@"thumbnail_medias"];
[article setValue:result[@"data"][@"articles"][0][@"list"][i][@"article"][@"weburl"] forKey:@"weburl"];
[article setValue:result[@"data"][@"articles"][0][@"list"][i][@"article"][@"thumbnail_medias"][0][@"url"] forKey:@"url"];
[article setValue:result[@"data"][@"articles"][0][@"more_url"] forKey:@"more_url"];
[self.array addObject:article];
}
[self.tableView reloadData];
[self.tableView footerEndRefreshing];
}];
}