ios - 无法在uicollectionview中显示uimage集

原文 标签 ios objective-c uicollectionview

  @implementation StudyViewController


      - (void)viewDidLoad {
[super viewDidLoad];
//[super viewWillAppear:animated];


...
基本上我通过afnetworking接收responseobject。
然后将数据存储在名为arData的全局定义的nsmutable数组中

                ............
                ...........

            [manager POST:studysearchUrl parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {

    [MBProgressHUD hideHUDForView:self.view animated:YES];

    NSLog(@"%@",responseObject);

    [Global sharedGlobal].arrData = responseObject;

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    [MBProgressHUD hideHUDForView:self.view animated:YES];
    NSLog(@"Error: %@", error);
}];


}

     #pragma collection view methods


-      (NSInteger) numberOfSectionsInCollectionView:(UICollectionView *)collectionView {

return 1;
    }

     -(NSInteger) collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section

   {
   return [[[Global sharedGlobal]arrData] count];


  }
 -(UICollectionView *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {



    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"StudyCell" forIndexPath:indexPath];


然后,将nsmutable对象索引存储为字典,以在创建图像路径时进行访问。
我需要从此nsmutable数组中提取3组数据(firstUID,第二个,第三个),这些数据将传递到NSURL上,以构造图像URL路径,如下所示。
其余参数(超文本,UrlKey,端口号,分隔符)通过nsdictionary(此处未显示)传递。

           UIImageView *img = (UIImageView *)[cell viewWithTag:1000];
           NSDictionary *dictionary = [Global sharedGlobal].arrData[indexPath.row];


          img.imageURL = [NSURL URLWithString:[NSString    stringWithFormat:@"%@%@%@%@?parametersintheWebServer&firstID=%@&secondID=%@&thirdID=%@",hyperText, UrlKey, portNumber, seperator, [Global sharedGlobal].arrData[indexPath.row] [@"firstUID"],[Global sharedGlobal].arrData[indexPath.row][@"secondUID"],[Global sharedGlobal].arrData[indexPath.row][@"thirdUID"]]];









      return cell;


    }


     - (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.

     }
     @end


1-我似乎无法在控制台内部获得任何NSLOG输出

           -(UICollectionView *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {


2-即使我知道从Web服务接收的参数是正确的,我也无法显示任何图像(并且在viewdidload时我可以NSLOG毫无问题。

任何帮助,将不胜感激。

谢谢。

最佳答案

您应该首先看到对numberOfItemsInSection的呼叫。如果可以在此处(或NSLog)设置断点,并且[[[Global sharedGlobal]arrData] count]的可见计数不大于0,则可能有助于解决问题。如果没有达到该委托回调,则可能不是为collectionview正确设置了委托。

关于ios - 无法在uicollectionview中显示uimage集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28680953/

相关文章:

ios - UITableView和导航 Controller

ios - iOS-筛选并转发触摸到 subview

objective-c - SearchDisplayController在多个数组中搜索

ios - 集合 View 不会每次都重新加载

ios - 自定义 UICollectionViewLayout : layoutAttributesForElementsInRect asks for really little rect

ios - UITableView 页脚未正确定位

ios - 逐个将数据加载到UICollectionView中

ios - 在 ios 中使用 Swift 和 OAuth 登录 Twitter

ios - 在后台 session 中不支持从NSData上载任务

ios - 如何从可重复使用的标题按钮调用collectionView.reloadData()?