0

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

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

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

4

1 回答 1

2

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

我认为它不适用于 for-in 循环。但是您说两个数组中的项目数相同-因此您可以轻松做到:

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

  [RDInsertObjects insertFeedsWithSubscription: subscription unreadCount: unreadCount];
}

这只有在数组中的项目数始终相同的情况下才有效 - 如果有时它们不是,您需要进行修改以防止越界错误,否则它将崩溃!

于 2013-08-04T06:33:09.413 回答