我有一個UICollectionView,它顯示了一個json url的數組。將數組追加到UICollectionView
當用戶滾動到collectionView結束時,我想追加另一個json url數組到我的collectionView。我這樣做就像這樣,但它沒有工作。例如,collectionView中的項目是36,但在collectionView中,我在頁面中間看到6個。我的代碼:
- (void)loadMore {
NSString *path = @"https://example.com/?json=get_posts&page=2";
path = [path stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSURL *url = [NSURL URLWithString:path];
NSData *data = [NSData dataWithContentsOfURL:url];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
NSArray *array = json[@"posts"];
self.contentArray = [self.contentArray arrayByAddingObjectsFromArray:array];
NSLog(@"%ld",(long)self.contentArray.count);
[self.contentCollection reloadData];
}
- (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath {
NSInteger lastSectionIndex = [self.contentCollection numberOfSections] -1;
NSInteger lastRowIndex = [self.contentCollection numberOfItemsInSection:lastSectionIndex] -1;
if ((indexPath.section == lastSectionIndex) && (indexPath.row == lastRowIndex)) {
[self loadMore];
}
}
謝謝。
你的意思是 「loadMore」 功能從不叫? –
不,它叫,但沒有工作的權利。見答案評論。 @AliOmari – user3767387
是你的代表嗎? –