0

它运行良好,但不会停止。

         [group enumerateAssetsAtIndexes:set options:NSEnumerationReverse usingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop)
          {
              CGImageRef imageRef = result.defaultRepresentation.fullResolutionImage;
              UIImage *toSend=[UIImage imageWithCGImage:imageRef];

              NSLog(@"INDEXX:%d",index); //logged after i stop !

              for(int c=0;c<[selectedButtonsTags count];c++)
                  if((numberOfAssets-1)-index ==[[selectedButtonsTags objectAtIndex:c] integerValue])
                  {[savedImages addObject:toSend];   NSLog(@"IMAGE IS:%@ index:%d",toSend,index); }


              if(index==numberOfAssets-max-1 )
              {   NSLog(@"OUT!");   //it DO log this !
                   *stop=YES;  
              }


          }];

记录后OUT,它再次记录index:垃圾号`

4

1 回答 1

0

我必须了解它是如何工作的。如果我在阻止他之前在街区内做事,他会继续枚举,当我阻止他时,他已经开始下一个索引。

所以你必须在块开始时阻止他,然后再做更多的事情。

          if(index==numberOfAssets-max-1 )
              *stop=YES; 

现在在块的开始,他停止了。如果需要稍后调用一个函数,您可以稍后放置相同的条件。但是,正如我所说,你必须先阻止他。

于 2013-03-16T15:44:59.627 回答