我有NSMutableArray
,它存儲NSDictionary
。考慮以下包含NSDictionary
的數組。查找存儲在NSDictionary中的值的索引和存儲到NSMutableArray中的NSDictionary
<__NSArrayM 0x7f9614847e60>(
{
"PARAMETER_KEY" = 1;
"PARAMETER_VALUE" = ALL;
},
{
"PARAMETER_KEY" = 2;
"PARAMETER_VALUE" = ABC;
},
{
"PARAMETER_KEY" = 3;
"PARAMETER_VALUE" = DEF;
},
{
"PARAMETER_KEY" = 4;
"PARAMETER_VALUE" = GHI;
},
{
"PARAMETER_KEY" = 5;
"PARAMETER_VALUE" = JKL;
}
)
我可以找到使用下面的代碼的具體NSDictionary
指數。
int tag = (int)[listArray indexOfObject:dictionary];
但如果我有PARAMETER_VALUE = GHI
並使用這個值,我想找到那本字典數組索引。我不想使用for循環。我可以得到沒有for循環的索引嗎?
好多個詞典,這有沒有循環在他的代碼中,但在數組上迭代兩次。 –
@ AminNegm-Awad:你確定這是nspredicate和indexOfObject的工作原理嗎? (意思是管理裏面的循環?) –
它必須將每個實例與謂詞進行比較。所以它必須迭代。 '-indexOfObject:'必須做同樣的事情,也許它可以使用哈希查找,但我不這麼認爲。 (這隻會在極少數情況下才能帶來好處。) –