我有两个从网络服务器获取的数组,都只包含相同数量的词典。我想为每个循环解析两个嵌套的每个字典,所以使用以下代码:
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];
}
这只有在数组中的项目数量始终相同时才有效——如果有时它们不相同,您需要进行修改以防止越界错误,否则它会崩溃!
关于ios - 嵌套在 Objective-C 中的每个循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18040180/