Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
- (NSManagedObjectContext*)getCurrentThreadContext{
NSManagedObjectContext *result = nil;
if ([NSThread isMainThread])
result = _defaultManagedObjectContext;
else
result = [self getContextForBGTask];
return result;
}
- (NSArray*)getObjectsOfType:(NSString*)type
withSortDescriptors:(NSArray*)descriptors
andPredicate:(NSPredicate*)predicate
inContext:(NSManagedObjectContext *)context {
NSFetchRequest* request = [[NSFetchRequest alloc] init];
[request setReturnsObjectsAsFaults:NO];
NSEntityDescription* desc = [NSEntityDescription entityForName:type inManagedObjectContext:context];
[request setEntity:desc];
if (descriptors)
[request setSortDescriptors:descriptors];
if (predicate)
[request setPredicate:predicate];
NSError* error = nil;
NSArray* result = nil;
result = [context executeFetchRequest:request error:&error];
if ((result == nil) || (error != nil))
return nil;
return result;
}
NSManagedObjectContext *context = [[CoreDataManager sharedManager] getCurrentThreadContext];
NSArray *result = [[CoreDataManager sharedManager] getObjectsOfType:@"Car"
withSortDescriptors:nil
andPredicate:nil
inContext:context]
Многопоточная Core Data