ALAssetsLibrary zwraca te same zasoby po dodaniu nowego zdjęcia do rolki aparatu - cel c

używamALAssetsLibrary wyliczyć pierwsze 30 zdjęć na moich Zapisanych zdjęciach. Stworzyłem nieruchomość wAppDelegate mieć dostęp doALAssets za każdym razem, kiedy chcę, bo życieALAssetsLibrary instancja jest powiązanaALAssets dożywotni. Oto mój kod:

if(!_savedAssets) _savedAssets = [[NSMutableArray alloc] init];
else [_savedAssets removeAllObjects];

if(appDelegate.library)
{
    [appDelegate.library release];
    [appDelegate setLibrary:nil];
}

appDelegate.library = [ALAssetsLibrary new];
__block int count = 0;
[appDelegate.library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
    NSLog(@"%d",group.numberOfAssets);
    if(count>30) *stop = YES;
    [group enumerateAssetsWithOptions:NSEnumerationReverse usingBlock:^(ALAsset *result, NSUInteger index, BOOL *needToStop) {
        NSLog(@"%d", index);
        if(count<30 && result)
        {
            UIImage *image = [UIImage imageWithCGImage:result.thumbnail];
            [_savedAssets addObject:result];
            [self performSelectorOnMainThread:@selector(imageManipulation:) withObject:image waitUntilDone:NO];
            count++;

        }
        else
          *needToStop = YES;

    }];
} failureBlock:^(NSError *error) {
    NSLog(@"%@",error.description);
}];

Jak widać, dodaję pierwszą 30ALAssets do mojegoNSMutableArray, aby mieć dostęp do miniatur lub pełnych rozmiarów obrazu. Po zrobieniu przeze mnie zdjęcia zapisuję to zdjęcie na rolce aparatu i próbuję ponownie załadować mojeALAssets z tym samym kodem, co przy pierwszym ładowaniu. Przed przeładowaniem usuwam wszystkie obiekty zNSMutableArrayi ponowne inicjowanieALAssetsLibrary. Ale to nie pomaga. Za każdym razem jestem taki samALAssets. Jestem nowyALAssets tylko po ponownym załadowaniu aplikacji. Jak przeładowaćALAssets bez ponownego ładowania aplikacji?

questionAnswers(1)

yourAnswerToTheQuestion