我有两个从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];
}


仅当数组中的项目数始终相同时,此方法才有效-如果有时不相同,则需要进行修改以防止越界错误,否则它将崩溃!

10-07 19:57