Hallo Leute,
sorry wegen der Überschrift es ist aber immer so schwer eine passende Überschrift zu finden.
ich habe eine Methode (filterValidPhotosInAssets) die gibt mir ein Array mit den gültigen Assets die ich brauche.
Diese Methode wird in einer delegate Methode aufgerufen, die aufgerufen wird so bald ich mir alle Assets geholt habe.
Ich füge das Array mit gefundenen Asset in ein Property was auch ein Array ist danach lade ich den TableView neu.
wenn ich ein in der Delegate Methode ein PO mache auf mein Property dan sehe ich das alle Objekte hinzugefügt wurden.
Wenn ich ein PO in der cellForRowAtIndexPath mache haben meine Asset keine URL mehr und der Type ist Unbekannt.
Hier einmal der Code:
Alles anzeigen
Ich bedanke mich schon einmal im voraus für die Hilfe.
MFG Marius
sorry wegen der Überschrift es ist aber immer so schwer eine passende Überschrift zu finden.
ich habe eine Methode (filterValidPhotosInAssets) die gibt mir ein Array mit den gültigen Assets die ich brauche.
Diese Methode wird in einer delegate Methode aufgerufen, die aufgerufen wird so bald ich mir alle Assets geholt habe.
Ich füge das Array mit gefundenen Asset in ein Property was auch ein Array ist danach lade ich den TableView neu.
wenn ich ein in der Delegate Methode ein PO mache auf mein Property dan sehe ich das alle Objekte hinzugefügt wurden.
Wenn ich ein PO in der cellForRowAtIndexPath mache haben meine Asset keine URL mehr und der Type ist Unbekannt.
Hier einmal der Code:
Quellcode
- - (NSArray*)filterValidPhotosInAssets:(NSArray*)assets byDateBlocks:(NSArray*)dates
- {
- __block NSMutableArray *validPhotos = [NSMutableArray new];
- [assets enumerateObjectsUsingBlock:^(ALAsset *asset, NSUInteger idx, BOOL *stop) {
- if([self isValidAsset:asset byDates:dates]) {
- [validPhotos addObject:asset];
- }
- }];
- if(!validPhotos.count) {
- [validPhotos addObject:[UIImage imageNamed:@"dev_current_record_image@2x.png"]];
- }
- return validPhotos;
- }
- - (BOOL)isValidAsset:(ALAsset*)asset byDates:(NSArray*)dates
- {
- __block NSDate *creationDate = [NSDate dateTimeShiftWithDate:[asset valueForProperty:ALAssetPropertyDate]];
- __block BOOL isValid = NO;
- [dates enumerateObjectsUsingBlock:^(NSArray *periodOfTime, NSUInteger idx, BOOL *stop) {
- NSDate *startDate = periodOfTime.firstObject;
- NSDate *enddate = periodOfTime.lastObject;
- if([startDate compare:creationDate] == NSOrderedAscending &&
- [enddate compare:creationDate] == NSOrderedDescending
- ) {
- isValid = YES;
- }
- }];
- return isValid;
- }
Quellcode
- - (void)photoEngine:(LCPhotoEngine*)photoEngine didFinishWithResults:(NSArray*)results{ for (NSString *activityName in self.activitys) { NSArray *dates = [LCPersistanceEngine datesByDatesBlockWithActivityName:activityName]; NSArray *validPhotos = [self.photoEngine filterValidPhotosInAssets:results byDateBlocks:dates]; [self.activitysImages addObject:validPhotos]; } NSBlockOperation *tableOperation = [NSBlockOperation blockOperationWithBlock:^{ [self.tableView reloadData]; [self.activityIndicatorView removeFromSuperview]; self.activityIndicatorView = nil; }]; [self.mainQuere addOperation:tableOperation];
- }
Ich bedanke mich schon einmal im voraus für die Hilfe.
MFG Marius
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Marius Hartig ()