【发布时间】:2016-09-18 23:07:38
【问题描述】:
我正在使用这种方法在我的 tableview 中实现无限滚动:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView_
{
CGFloat actualPosition = scrollView_.contentOffset.y ;
CGFloat contentHeight = scrollView_.contentSize.height - (700);
NSLog(@"table: %f", self.tableView.frame.size.height);
if (actualPosition >= contentHeight)
{ // self.articles = NULL;
[self makeRequest:currentpage++];
[self.articlesArray addObjectsFromArray:articles];
[self.tableView reloadData];
}
}
我从这样的网络服务获取数据:
-(void)makeRequest:(int)page1{
NSString *urlString = [NSString
stringWithFormat:@"http://url/wp-json/wp/v2/posts?page=%d",(int) page1];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:urlString]];
NSData *theData = [NSURLConnection sendSynchronousRequest:request
returningResponse:nil
error:nil];
self.articles = [NSJSONSerialization JSONObjectWithData:theData
options:NSJSONReadingMutableContainers
error:nil];
}
在我的视图控制器的 viewDidLoad 中如下:
- (void)viewDidLoad {
[super viewDidLoad];
self.articlesArray = [[NSMutableArray alloc] init];
self.articles = [[NSMutableArray array]init];
currentpage = 0;
}
在显示新数据之前,我获得了两次数据。如何防止这种情况发生?
【问题讨论】:
标签: ios objective-c json uitableview uiscrollview