遍历实体阵列,并基于“其他键"的值获得某个键的值.火柴 [英] Iterar over array of entity and get value of some key based on value of "other key" matche
本文介绍了遍历实体阵列,并基于“其他键"的值获得某个键的值.火柴的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一组实体类(例如SubmittedAnswer).其JSON格式如下所示.
I have an array of entity class (eg SubmittedAnswer). Its JSON format is look like as below.
{
"submittedAnswers": [{
"submittedQuestionId": "C7B3C4BE-CC3C-438F-A118-E798884A5FE0",
"serialNumber": 4,
"option": " it has a very large mass.",
"testQuestionId": "55230160-b905-47d5-a91c-e1dda6dd0634",
}, {
"submittedQuestionId": "9A6E9EA8-1BC0-4ED9-81E8-28B7E554D5E0",
"serialNumber": 1,
"option": " downward",
"testQuestionId": "fd0b3ae0-e999-48a6-89b8-a89b02e7b793",
}]
}
我想从该数组的" 选项 "中找到" 选项 "字段. ...".我不想使用循环. 目前,我正在使用以下代码.
I want to find "option" field from that array whose "submittedQuestionId" is "something....". I dont want to use for loop. Currently i am using following code.
NSString *submittedQuestionId = "something...."
int index = [[submittedAnswers valueForKey:@"submittedQuestionId"] indexOfObject:submittedQuestionId];
NSString *option = [[submittedAnswers valueForKey:@"option"] objectAtIndex:index];
我需要更好的解决方案.
I need better solution for this problem.
推荐答案
假定submittedAnswers
是NSDictionary对象的NSArray,我在这里找到了答案:
堆栈溢出> iPhone-搜索NSDictionary对象的NSArray
Assuming that submittedAnswers
is an NSArray of NSDictionary objects, I found the answer here:
Stack Overflow > iPhone - Searching NSArray of NSDictionary objects
// Array `submittedAnswers` of sample data
NSArray* submittedAnswers = @[
@{
@"submittedQuestionId" : @"C7B3C4BE-CC3C-438F-A118-E798884A5FE0" ,
@"serialNumber" : @4 ,
@"option" : @" it has a very large mass." ,
@"testQuestionId" : @"55230160-b905-47d5-a91c-e1dda6dd0634" } ,
@{
@"submittedQuestionId" : @"9A6E9EA8-1BC0-4ED9-81E8-28B7E554D5E0" ,
@"serialNumber" : @1 ,
@"option" : @" downward" ,
@"testQuestionId" : @"fd0b3ae0-e999-48a6-89b8-a89b02e7b793" } ] ;
NSString *submittedQuestionId = @"9A6E9EA8-1BC0-4ED9-81E8-28B7E554D5E0" ;
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"submittedQuestionId = %@", submittedQuestionId] ;
NSArray* foundQuestions = [submittedAnswers filteredArrayUsingPredicate:predicate] ;
NSDictionary* foundQuestion = foundQuestions[0] ;
这篇关于遍历实体阵列,并基于“其他键"的值获得某个键的值.火柴的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文