为Objective-C中的每个循环嵌套

时间:2013-08-04 06:02:22

标签: ios objective-c nested-loops

我从Web服务器获取两个数组,两者都只包含相同数量的字典。我想解析每个循环的两个嵌套的每个字典,所以使用以下代码:

for (NSDictionary *subscription in feedsArray)
{
    for (NSDictionary *unreadCount in unreadCountsArray)
    {
        [RDInsertObjects insertFeedsWithSubscription:subscription
                         unreadCount:unreadCount];
    }
}

但是返回的结果不是我想要的,内部for循环似乎执行了很多次,任何人都可以告诉我如何正确地做出正确的事情来使这段代码有意义?

1 个答案:

答案 0 :(得分:2)

你这样做,对于第一个循环的每次迭代,第二个循环完全迭代。

我认为它不能用于for-in循环。但是你说两个数组中的项目数是相同的 - 所以你可以很容易地做到:

for (i=0; i< feedsArray.count; i++) {
  NSDictionary subscription = feedsArray[i];
  NSDictionary unreadCount = unreadCountsArray[i];

  [RDInsertObjects insertFeedsWithSubscription: subscription unreadCount: unreadCount];
}

只有当数组中的项目总数相同时才会起作用 - 如果有时它们不相同,则需要修改以防止越界错误或者它会崩溃!