2015-05-19 92 views
0

我想從服務器中加載5條到UICollection視圖單元格 當用戶到達集合的末尾從服務器獲取數據並添加到已經存在的集合視圖時,我正在實現這個但是舊數據不會顯示收集視圖中顯示的新數據。UICollectionview滾動按鈕刷新

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { 
    float bottomEdge = scrollView.contentOffset.y +                scrollView.frame.size.height; 
if (bottomEdge >= scrollView.contentSize.height) { 
    // we are at the end 

    NSString *userId = [[NSUserDefaults standardUserDefaults]objectForKey:@"REG_userId"]; 

    NSString *userToken = [[NSUserDefaults standardUserDefaults]objectForKey:@"REG_TOKEN"]; 

    NSDictionary *parameters = @{@"user_id" : userId , 

           @"token" : userToken , 

           @"pagination_type" : @"down" , 

           @"article_id" : articalID 

           }; 
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
    [manager GET:@"http://ec2-52-74-165-2.ap-southeast-1.compute.amazonaws.com/api/articles" 
     parameters:parameters 
     success:^(AFHTTPRequestOperation *operation, id responseObject) { 
      // NSLog(@"JSON: %@", responseObject); 
      // myArray = [responseObject objectForKey: @"result"]; 
      dispatch_async(dispatch_get_main_queue(),^
          { 
           [self.Collection reloadData]; 

          }); 


     } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 

      NSLog(@"Error: %@", error); 
     }]; 


} 

}

我得到了新的數據和日老不不顯示。

將新數據添加到舊數據的位置,以便可以看到所有的文章。 預先感謝您的回覆

回答

0

讓你myArrayNSMutableArray,不要忘了初始化頁頭在你的viewController的init方法。的

代替

myArray = [responseObject objectForKey: @"result"]; 

你會做

[myArray addObjectsFromArray:[responseObject objectForKey: @"result"]]; 
+0

感謝嗨的回答,我不喜歡這個myArray的= [[NSMutableArray裏的alloc]初始化]。在viewDidLoad方法中,然後當下次獲取數據時,當用戶滾動到底部時,我正在獲取數據並像這樣[myArray addObjectsFromArray:[responseObject objectForKey:@「result」]];錯誤終止應用程序,由於未捕獲異常'NSInternalInconsistencyException',原因:' - [__ NSCFArray insertObject:atIndex:]:變異方法發送到不可變對象' –

+0

我沒有說'init'in viewDidLoad', - (instancetype)init'的子類方法。 你得到的錯誤是因爲你沒有像我說的那樣做(分配init NSMutableArray),所以程序仍然是NSArray,它是不可變的,你不能將對象添加到它。 – Erakk