mirror of
https://github.com/drewmccormack/ensembles.git
synced 2026-03-03 18:23:18 +01:00
51 lines
1.6 KiB
Objective-C
51 lines
1.6 KiB
Objective-C
//
|
|
// CDEDataFile.m
|
|
// Ensembles iOS
|
|
//
|
|
// Created by Drew McCormack on 17/02/14.
|
|
// Copyright (c) 2014 The Mental Faculty B.V. All rights reserved.
|
|
//
|
|
|
|
#import "CDEDataFile.h"
|
|
#import "CDEDefines.h"
|
|
#import "CDEObjectChange.h"
|
|
#import "CDEStoreModificationEvent.h"
|
|
|
|
@implementation CDEDataFile
|
|
|
|
@dynamic filename;
|
|
@dynamic objectChange;
|
|
|
|
+ (NSSet *)allFilenamesInManagedObjectContext:(NSManagedObjectContext *)context
|
|
{
|
|
NSFetchRequest *fetch = [NSFetchRequest fetchRequestWithEntityName:@"CDEDataFile"];
|
|
fetch.predicate = [NSPredicate predicateWithFormat:@"objectChange != NIL"];
|
|
fetch.propertiesToFetch = @[@"filename"];
|
|
|
|
NSError *error;
|
|
NSArray *results = [context executeFetchRequest:fetch error:&error];
|
|
if (!results) CDELog(CDELoggingLevelError, @"Could not fetch data files: %@", error);
|
|
|
|
NSSet *filenames = [NSSet setWithArray:[results valueForKeyPath:@"filename"]];
|
|
return filenames;
|
|
}
|
|
|
|
+ (NSSet *)filenamesInStoreModificationEvents:(NSArray *)events
|
|
{
|
|
NSManagedObjectContext *context = [events.lastObject managedObjectContext];
|
|
if (!context) return [NSSet set];
|
|
|
|
NSFetchRequest *fetch = [NSFetchRequest fetchRequestWithEntityName:@"CDEDataFile"];
|
|
fetch.predicate = [NSPredicate predicateWithFormat:@"objectChange.storeModificationEvent IN %@", events];
|
|
fetch.propertiesToFetch = @[@"filename"];
|
|
|
|
NSError *error;
|
|
NSArray *results = [context executeFetchRequest:fetch error:&error];
|
|
if (!results) CDELog(CDELoggingLevelError, @"Could not fetch data files: %@", error);
|
|
|
|
NSSet *filenames = [NSSet setWithArray:[results valueForKeyPath:@"filename"]];
|
|
return filenames;
|
|
}
|
|
|
|
@end
|