Ios 无法在UICollection视图的每个部分中加载数据?
我有一些json数据,其中有一些文档。它有4个部分-在每个部分中有一些数据或没有数据。我需要显示每个部分的数据 我的问题是: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
看起来您可能在获得任何数据之前设置了集合视图 如果我告诉您输入的日志每次都返回
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