如何赋值NSMutableDictionary setObject值成为indexPath.section值?
How to assign NSMutableDictionary setObject value to become indexPath.section value?
我有 NSMutableDictionary 和 return 结果如下:-
NSMutableDictionary *result = [NSMutableDictionary new];
distinctNames = [_aryClippedCategoryList valueForKeyPath:@"@distinctUnionOfObjects.category_id"];
for (NSString *category_id in distinctNames) {
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"category_id = %@", category_id];
NSArray *category_group = [_aryClippedCategoryList filteredArrayUsingPredicate:predicate];
[result setObject:category_group forKey:category_id];
NSLog(@"123 - %@", result);
NSLog(@"223 - %lu", (unsigned long)distinctNames.count);
在 NSLog 123 中,结果将如下所示:-
17 = (
{
"category_id" = 17;
"category_name" = "Apparel & Accessories";
"sub_category_id" = 17;
"sub_category_name" = "Fashion jewelry";
},
{
"category_id" = 17;
"category_name" = "Apparel & Accessories";
"sub_category_id" = 16;
"sub_category_name" = Wholesale;
}
);
20 = (
{
"category_id" = 20;
"category_name" = "Beauty & Personal Care";
"sub_category_id" = 288;
"sub_category_name" = "Pedicure & medicure";
},
{
"category_id" = 20;
"category_name" = "Beauty & Personal Care";
"sub_category_id" = 285;
"sub_category_name" = "Fragrances and perfumes";
}
);
在 NSLog 223 中,结果将如下所示:-
223 - 2
在这种情况下,如何将 select category_group 作为 CollectionView 中的部分值并显示每组项目 (category_id,category_name,sub_category_id,sub_category_name) 在 CollectionView 单元格中?
如果你像这样使用 NSLog:
NSLog(@"123 - %@", result);
NSLog(@"223 - %lu", (unsigned long)distinctNames.count);
您明确要求它是一个字符串值,并且将计算 none 个方程。
如果你想将结果打印为整数,你必须这样做:
NSLog(@"%@", 123 - result);
NSLog(@"%lu", 223 - (unsigned long)distinctNames.count);
第一个参数是字符串格式,接下来的参数将用于替换此字符串中的%
。所以你的计算必须在右侧进行。
为了使其更加可见,最好在 NSLog 之前创建带有结果的局部变量。
(不推荐)你应该使用 NSMutableArray 而不是 NSMutableDictionary。
结构是
Array<Dictionary<Array *> *> *
代码是这样的
NSMutableArray *groups = [NSMutableArray new];
<# your code #>
[groups addObject:@{
@"category_id": category_id,
@"infos": category_group
}];
然后
NSString *groupID = groups[indexPath.section][@"category_id"]
这是您需要的部分组值。
NSArray *infos = groups[indexPath.section][@"infos"];
NSDictionary *info = infos[indexPath.item];
这是对象 dict
项的值
(推荐)或将您的 data
转换为 object
。 (对象 NSMutableArray<Object *> *
)
然后使用 groups.count
获取部分。
groups[indexPath.section].categoryID
这是 sections
所需的组值。
group = groups[indexPath.section]
object = group.infos[indexPath.item]
这是 items
的对象值
我有 NSMutableDictionary 和 return 结果如下:-
NSMutableDictionary *result = [NSMutableDictionary new];
distinctNames = [_aryClippedCategoryList valueForKeyPath:@"@distinctUnionOfObjects.category_id"];
for (NSString *category_id in distinctNames) {
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"category_id = %@", category_id];
NSArray *category_group = [_aryClippedCategoryList filteredArrayUsingPredicate:predicate];
[result setObject:category_group forKey:category_id];
NSLog(@"123 - %@", result);
NSLog(@"223 - %lu", (unsigned long)distinctNames.count);
在 NSLog 123 中,结果将如下所示:-
17 = (
{
"category_id" = 17;
"category_name" = "Apparel & Accessories";
"sub_category_id" = 17;
"sub_category_name" = "Fashion jewelry";
},
{
"category_id" = 17;
"category_name" = "Apparel & Accessories";
"sub_category_id" = 16;
"sub_category_name" = Wholesale;
}
);
20 = (
{
"category_id" = 20;
"category_name" = "Beauty & Personal Care";
"sub_category_id" = 288;
"sub_category_name" = "Pedicure & medicure";
},
{
"category_id" = 20;
"category_name" = "Beauty & Personal Care";
"sub_category_id" = 285;
"sub_category_name" = "Fragrances and perfumes";
}
);
在 NSLog 223 中,结果将如下所示:-
223 - 2
在这种情况下,如何将 select category_group 作为 CollectionView 中的部分值并显示每组项目 (category_id,category_name,sub_category_id,sub_category_name) 在 CollectionView 单元格中?
如果你像这样使用 NSLog:
NSLog(@"123 - %@", result);
NSLog(@"223 - %lu", (unsigned long)distinctNames.count);
您明确要求它是一个字符串值,并且将计算 none 个方程。
如果你想将结果打印为整数,你必须这样做:
NSLog(@"%@", 123 - result);
NSLog(@"%lu", 223 - (unsigned long)distinctNames.count);
第一个参数是字符串格式,接下来的参数将用于替换此字符串中的%
。所以你的计算必须在右侧进行。
为了使其更加可见,最好在 NSLog 之前创建带有结果的局部变量。
(不推荐)你应该使用 NSMutableArray 而不是 NSMutableDictionary。
结构是
Array<Dictionary<Array *> *> *
代码是这样的
NSMutableArray *groups = [NSMutableArray new]; <# your code #> [groups addObject:@{ @"category_id": category_id, @"infos": category_group }];
然后
NSString *groupID = groups[indexPath.section][@"category_id"]
这是您需要的部分组值。
NSArray *infos = groups[indexPath.section][@"infos"]; NSDictionary *info = infos[indexPath.item];
这是对象
dict
项的值(推荐)或将您的
data
转换为object
。 (对象NSMutableArray<Object *> *
)然后使用
groups.count
获取部分。groups[indexPath.section].categoryID
这是
sections
所需的组值。group = groups[indexPath.section] object = group.infos[indexPath.item]
这是
items
的对象值