我有两个从Web服务器获取的数组,两个数组都只包含相同数量的字典。我想解析每个循环两个嵌套的每个字典,因此使用以下代码:
for (NSDictionary *subscription in feedsArray)
{
for (NSDictionary *unreadCount in unreadCountsArray)
{
[RDInsertObjects insertFeedsWithSubscription:subscription
unreadCount:unreadCount];
}
}
但是返回的结果不是我想要的,内部for循环似乎执行了很多次,任何人都可以告诉我使该代码有意义的正确做法是什么?
最佳答案
您的方式,对于第一个循环的每次迭代,第二个循环将完全迭代。
我认为它不适用于for-in循环。但是您说过两个数组中的项目数是相同的-因此您可以轻松地做到这一点:
for (i=0; i< feedsArray.count; i++) {
NSDictionary subscription = feedsArray[i];
NSDictionary unreadCount = unreadCountsArray[i];
[RDInsertObjects insertFeedsWithSubscription: subscription unreadCount: unreadCount];
}
仅当数组中的项目数始终相同时,此方法才有效-如果有时不相同,则需要进行修改以防止越界错误,否则它将崩溃!