【发布时间】:2021-06-24 12:51:26
【问题描述】:
我有新工作,目前在objective-c上,我不能使用struct等。
请有人帮助我,我需要在 NSArray 中找到价值(或者如果这很容易,我可以将其更改为 NSDictionary)。
I've got NSArray 有 4 个类似的字典。我有子类别-> ID 的密钥。 NSString *titleKey = paramsCell[@"category"];
我需要在所有这些字典中找到此 ID 并捕获确认此 ID 的“Locale”。
NSString *predicate2 = [NSString stringWithFormat:@"_subcategories.id == \"%@\"",titleKey];
NSArray *tempArray = [_categoryDictionary filteredArrayUsingPredicate:[NSPredicate predicateWithFormat: predicate2]];
我尝试了什么:
^^^^ 不行
我尝试将谓词更改为
'NSPredicate *predicate = [NSPredicate predicateWithFormat:titleKey];'
我完全看不懂这些%@@%%""@"%"@%"@,我想哭.....
请,有人可以解释我如何解决它。 我想它很快看起来像 .map{$0.subcategories}
添加:
我需要在 _categoryDic(可以是 Array 或 Dict,我可以更改它)中找到等于我的 titleKey 的 Subcategories->id。并捕获子类别-> 1 个带有 id 的字典中的语言环境。
我的情况: 我们有细胞,所以当我们从服务器收到它时,它们没有名字。我们只收到单元格的类别 ID。我们应该将它的类别与我们的字典进行比较,并将标题放在单元格上(在我们的 categoryDic-> 语言环境中)
【问题讨论】:
-
paramsCell[@"category"]:根据您的屏幕截图,这是NSArray,而不是NSString。最后,你到底想要什么?locale键的值是NSString? -
@Larme,很抱歉机器人的详细描述。这是方法 cellForRowAtIndexPath,所以 titleKey 只能是 NSString。我试图在 'Locale' 中的 _categoryDictionary 值中找到并将其发送到标签,在 _CategoryDictionary 中我有所有类别。我的手机只有类别的 ID。我需要比较我的单元格类别 ID(标题键与 categoryDic->Subcategories->ID 并显示在我的标签 categoryDic->subCategories->Locale
-
对不起,我的意思是
_categoryDictionary[@"subcategories"]是NSArray,所以你不能在上面做subcategories.id。你是说它也是 NSDictionaries 的 NSArray 吗?你能打印_category_Dictionary吗?并告诉我们你到底想要什么?如果您可以自己创建最终输出:NSArray *output = ...,或NSDictionary *output = ...或NSString *output = ...? -
@Larme,我尝试过使用数组和字典。如果您需要,我可以将其更改为任何格式。
-
没关系,我们只需要知道你的数据到底长什么样。