ALAssetsLibrary возвращает неправильное количество моих фотографий

Когда я использую ALAssetsLibrary для получения локальных фотографий, все работает нормально. Но после того, как я удалил несколько фотографий с помощью приложения «Фотографии», мое приложение вылетает.

Информация о сбое:

"Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSOrderedSet enumerateObjectsAtIndexes:options:usingBlock:]: index 14 beyond bounds [0.. 9]'".'14'

Похоже, количество местных фотографий осталось прежним. И даже после того, как я выйду из своего приложения и снова его перезапущу, оно все равно вылетает.

Локальный код доступа к фото:

dispatch_async(dispatch_get_main_queue(), ^
{
   @autoreleasepool 
   {
       ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *myerror)
       {
           NSLog(@"error occour =%@", [myerror localizedDescription]);
       };

       ALAssetsGroupEnumerationResultsBlock groupEnumerAtion = ^(ALAsset *result, NSUInteger index, BOOL *stop)
       {
           if (result!=NULL) 
           {
               if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto]) 
               {
                   [self.g_imageArray addObject:result];
               }
           }
       };

       ALAssetsLibraryGroupsEnumerationResultsBlock
       libraryGroupsEnumeration = ^(ALAssetsGroup* group, BOOL* stop)
       {
           if (group == nil) 
           {
               return;
           }

           if (group!=nil) {
               [group enumerateAssetsUsingBlock:groupEnumerAtion];
           }
       [self updatephotoList];
       };

       self.library = [[ALAssetsLibrary alloc] init];
       [self.library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos
                              usingBlock:libraryGroupsEnumeration 
                            failureBlock:failureblock];
   }
});

Если я сделаю еще одну фотографию системной камерой, мое приложение снова будет работать нормально.

5
задан zhangwx 28 November 2012 в 06:42
поделиться