ALAssetsLibrary gibt dieselben Assets zurück, nachdem ein neues Foto zum Kamera-Rollobjektiv hinzugefügt wurde. C

Ich benutzeALAssetsLibrary Auflisten der ersten 30 Fotos in meinen gespeicherten Fotos. Ich habe eine Immobilie in erstelltAppDelegate Zugang zu habenALAssets immer wenn ich will, weil lebenslang vonALAssetsLibrary Instanz ist gebunden anALAssets Lebenszeit. Hier ist mein Code:

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);
}];

Wie Sie sehen, füge ich die ersten 30 hinzuALAssets zu meinemNSMutableArray, um auf ein Miniaturbild oder ein Vollbild zuzugreifen. Nachdem meine App ein Foto erstellt hat, speichere ich dieses Foto auf der Kamera und versuche, mein Foto neu zu ladenALAssets mit dem gleichen Code wie beim ersten Laden. Vor dem erneuten Laden entferne ich alle Objekte ausNSMutableArrayund NeuinitialisierungALAssetsLibrary. Aber das hilft nicht. Jedes Mal bekomme ich das gleicheALAssets. Ich bekomme neuALAssets erst nach dem neuladen app. Wie lade ich nach?ALAssets ohne App neu zu laden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage