Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法在UICollection视图的每个部分中加载数据?_Ios_Objective C_Json_Uicollectionview - Fatal编程技术网

Ios 无法在UICollection视图的每个部分中加载数据?

Ios 无法在UICollection视图的每个部分中加载数据?,ios,objective-c,json,uicollectionview,Ios,Objective C,Json,Uicollectionview,我有一些json数据,其中有一些文档。它有4个部分-在每个部分中有一些数据或没有数据。我需要显示每个部分的数据 我的问题是: 我使用NSDictionary将所有节数据存储在一个数组中,并尝试显示,但它没有显示我的数据 每个部分的标题都应该是(例如:白色(0-data),黑色(3-data)之类的)。我试过了,但我得到了 看起来您可能在获得任何数据之前设置了集合视图 如果我告诉您输入的日志每次都返回0,0,0,0,则arrayPDFName为空 尝试调用[self.collectionView

我有一些json数据,其中有一些文档。它有4个部分-在每个部分中有一些数据或没有数据。我需要显示每个部分的数据

我的问题是:

  • 我使用NSDictionary将所有节数据存储在一个数组中,并尝试显示,但它没有显示我的数据
  • 每个部分的标题都应该是(例如:白色(0-data),黑色(3-data)之类的)。我试过了,但我得到了

  • 看起来您可能在获得任何数据之前设置了集合视图

    如果我告诉您输入的日志每次都返回
    0,0,0,0
    ,则
    arrayPDFName
    为空

    尝试调用
    [self.collectionView reloadData]
    getdata
    方法的末尾

    如果这不是问题所在,那么在如何将项添加到
    arrayPDFName
    数组中可能存在问题

    编辑:

    尝试:

    NSArray*arr=[NSArray数组及其对象:dictOriginal[@“files”]、dictOriginal2[@“files”]、dictOriginal3[@“files”]、dictOriginal4[@“files”]、nil]

    编辑:

    每个部分中有4项,因为返回的是
    arrayPDFName.count
    numberofitems部分:

    相反,您希望返回其中文件的计数:


    返回arrayPDFName[节][@“计数”]

    看起来您可能在获得任何数据之前设置了集合视图

    如果我告诉您输入的日志每次都返回
    0,0,0,0
    ,则
    arrayPDFName
    为空

    尝试调用
    [self.collectionView reloadData]
    getdata
    方法的末尾

    如果这不是问题所在,那么在如何将项添加到
    arrayPDFName
    数组中可能存在问题

    编辑:

    尝试:

    NSArray*arr=[NSArray数组及其对象:dictOriginal[@“files”]、dictOriginal2[@“files”]、dictOriginal3[@“files”]、dictOriginal4[@“files”]、nil]

    编辑:

    每个部分中有4项,因为返回的是
    arrayPDFName.count
    numberofitems部分:

    相反,您希望返回其中文件的计数:


    返回arrayPDFName[节][@“计数”]

    看起来您可能在获得任何数据之前设置了集合视图

    如果我告诉您输入的日志每次都返回
    0,0,0,0
    ,则
    arrayPDFName
    为空

    尝试调用
    [self.collectionView reloadData]
    getdata
    方法的末尾

    如果这不是问题所在,那么在如何将项添加到
    arrayPDFName
    数组中可能存在问题

    编辑:

    尝试:

    NSArray*arr=[NSArray数组及其对象:dictOriginal[@“files”]、dictOriginal2[@“files”]、dictOriginal3[@“files”]、dictOriginal4[@“files”]、nil]

    编辑:

    每个部分中有4项,因为返回的是
    arrayPDFName.count
    numberofitems部分:

    相反,您希望返回其中文件的计数:


    返回arrayPDFName[节][@“计数”]

    看起来您可能在获得任何数据之前设置了集合视图

    如果我告诉您输入的日志每次都返回
    0,0,0,0
    ,则
    arrayPDFName
    为空

    尝试调用
    [self.collectionView reloadData]
    getdata
    方法的末尾

    如果这不是问题所在,那么在如何将项添加到
    arrayPDFName
    数组中可能存在问题

    编辑:

    尝试:

    NSArray*arr=[NSArray数组及其对象:dictOriginal[@“files”]、dictOriginal2[@“files”]、dictOriginal3[@“files”]、dictOriginal4[@“files”]、nil]

    编辑:

    每个部分中有4项,因为返回的是
    arrayPDFName.count
    numberofitems部分:

    相反,您希望返回其中文件的计数:


    返回arrayPDFName[节][@“计数”]

    需要对代码进行一些更改。试试下面的方法

    在viewDidLoad中

    [self getdata];
    [self.mycollectionView reloadData];
    
    在getdata方法中

    NSArray *arrayFiles = [NSArray arrayWithObjects: dictOriginal, dictOriginal2, dictOriginal3, dictOriginal4, nil];
    
    for (NSDictionary *dict in arrayFiles) {
      NSMutableArray *arr = [NSMutableArray array];
      NSArray *a = dict[@"files"];
      for(int i=0; i < a.count; i ++) {
          NSString *strName = [NSString stringWithFormat:@"%@",[[dict[@"files"] objectAtIndex:i] valueForKey:@"name"]];
          NSLog(@"str: %@", strName);
          [arr addObject:strName];
       }  
      [arrayPDFName addObject:arr];
    }
    
    在cellForRowAtIndexPath中

    cell.myLabel.text = arrayPDFName[indexPath.section][indexPath.row];
    
    对章节标题执行此操作

  • 有一个可变数组作为titleArray或其他东西
  • 在viewdidload中,
    titleArray=[NSMutableArray]
  • 在getdata方法中

    NSDictionary *dictOriginal = jsonResults[@“white”]; 
    [titleArray addObject:[NSString stringWithFormat:@"white(%d)", dictOriginal[@"count"]]];
    
    对口述稿2、口述稿3、口述稿4也要这样做

    鉴于这类补充元素

    header.myHeaderLabel.text = titleArray[indexPath.section]
    
    在numberOfSectionsInCollectionView中

    -(NSInteger) numberOfSectionsInCollectionView:(UICollectionView *)collectionView { 
      return titleArray.count; 
    }
    

    您的代码需要做一些更改。试试下面的方法

    在viewDidLoad中

    [self getdata];
    [self.mycollectionView reloadData];
    
    在getdata方法中

    NSArray *arrayFiles = [NSArray arrayWithObjects: dictOriginal, dictOriginal2, dictOriginal3, dictOriginal4, nil];
    
    for (NSDictionary *dict in arrayFiles) {
      NSMutableArray *arr = [NSMutableArray array];
      NSArray *a = dict[@"files"];
      for(int i=0; i < a.count; i ++) {
          NSString *strName = [NSString stringWithFormat:@"%@",[[dict[@"files"] objectAtIndex:i] valueForKey:@"name"]];
          NSLog(@"str: %@", strName);
          [arr addObject:strName];
       }  
      [arrayPDFName addObject:arr];
    }
    
    在cellForRowAtIndexPath中

    cell.myLabel.text = arrayPDFName[indexPath.section][indexPath.row];
    
    对章节标题执行此操作

  • 有一个可变数组作为titleArray或其他东西
  • 在viewdidload中,
    titleArray=[NSMutableArray]
  • 在getdata方法中

    NSDictionary *dictOriginal = jsonResults[@“white”]; 
    [titleArray addObject:[NSString stringWithFormat:@"white(%d)", dictOriginal[@"count"]]];
    
    对口述稿2、口述稿3、口述稿4也要这样做

    鉴于这类补充元素

    header.myHeaderLabel.text = titleArray[indexPath.section]
    
    在numberOfSectionsInCollectionView中

    -(NSInteger) numberOfSectionsInCollectionView:(UICollectionView *)collectionView { 
      return titleArray.count; 
    }
    

    您的代码需要做一些更改。试试下面的方法

    在viewDidLoad中

    [self getdata];
    [self.mycollectionView reloadData];
    
    在getdata方法中

    NSArray *arrayFiles = [NSArray arrayWithObjects: dictOriginal, dictOriginal2, dictOriginal3, dictOriginal4, nil];
    
    for (NSDictionary *dict in arrayFiles) {
      NSMutableArray *arr = [NSMutableArray array];
      NSArray *a = dict[@"files"];
      for(int i=0; i < a.count; i ++) {
          NSString *strName = [NSString stringWithFormat:@"%@",[[dict[@"files"] objectAtIndex:i] valueForKey:@"name"]];
          NSLog(@"str: %@", strName);
          [arr addObject:strName];
       }  
      [arrayPDFName addObject:arr];
    }
    
    在cellForRowAtIndexPath中

    cell.myLabel.text = arrayPDFName[indexPath.section][indexPath.row];
    
    对章节标题执行此操作

  • 有一个可变数组作为titleArray或其他东西
  • 在viewdidload中,
    titleArray=[NSMutableArray]
  • 在getdata方法中

    NSDictionary *dictOriginal = jsonResults[@“white”]; 
    [titleArray addObject:[NSString stringWithFormat:@"white(%d)", dictOriginal[@"count"]]];
    
    对口述稿2、口述稿3、口述稿4也要这样做

    鉴于这类补充元素

    header.myHeaderLabel.text = titleArray[indexPath.section]
    
    在numberOfSectionsInCollectionView中

    -(NSInteger) numberOfSectionsInCollectionView:(UICollectionView *)collectionView { 
      return titleArray.count; 
    }
    

    您的代码需要做一些更改。试试下面的方法

    在viewDidLoad中

    [self getdata];
    [self.mycollectionView reloadData];
    
    在getdata方法中

    NSArray *arrayFiles = [NSArray arrayWithObjects: dictOriginal, dictOriginal2, dictOriginal3, dictOriginal4, nil];
    
    for (NSDictionary *dict in arrayFiles) {
      NSMutableArray *arr = [NSMutableArray array];
      NSArray *a = dict[@"files"];
      for(int i=0; i < a.count; i ++) {
          NSString *strName = [NSString stringWithFormat:@"%@",[[dict[@"files"] objectAtIndex:i] valueForKey:@"name"]];
          NSLog(@"str: %@", strName);
          [arr addObject:strName];
       }  
      [arrayPDFName addObject:arr];
    }
    
    在cellFor