-2

「私は2つのforループを別のループ内で使用しています。最も内側のループでは、条件が満たされる場合は「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;
                    }
                }
            }
4

2 に答える 2

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;
        }
    }];
}];
于 2013-06-15T07:49:47.183 に答える
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;
                    }
                }
            }
于 2013-06-15T07:32:01.540 に答える