多个for循环处理

时间:2013-06-15 07:29:25

标签: iphone ios objective-c for-loop break

“我在另一个内部使用两个for循环。在Innermost循环中我检查'if条件'如果条件满足,整个循环我的意思是内循环和外循环应该停止。但此刻下面的代码只能停止内循环外循环不停止。请给我解决方案。“

for(int i=0; i<a_AllClothing.count;i++)
            {

                for (int j=0; j<tempAsset_array.count; j++) {

                    if([l_dressName rangeOfString:ImageName].location!=NSNotFound)
                    {
                        NSLog(@"Matched");

                        break;
                    }
                }
            }

2 个答案:

答案 0 :(得分:2)

您可以使用enumerationBlocks执行相同的操作。这假设您有一个数组数组。

__block BOOL containsDress = NO;
[a_AllClothing enumerateObjectsUsingBlock:^(NSArray * clothes, NSUInteger idx, BOOL *firstStop) {
    [clothes enumerateObjectsUsingBlock:^(NSString * cloth, NSUInteger idx, BOOL *seconStop) {
        if ([cloth isEqualToString:l_dressName]) {
            *firstStop = YES;
            *seconStop = YES;
            containsDress = YES;
        }
    }];
}];

答案 1 :(得分:1)

BOOL isFound = NO;
for(int i=0; i<a_AllClothing.count && !isFound;i++)
            {

                for (int j=0; j<tempAsset_array.count; j++) {

                    if([l_dressName rangeOfString:ImageName].location!=NSNotFound)
                    {
                        NSLog(@"Matched");
                        isFound = YES;

                        break;
                    }
                }
            }