Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- NSSortDescriptor *sortTitle =[NSSortDescriptor sortDescriptorWithKey:@"addedTimestamp"
- ascending:YES];
- NSArray *sortDescriptors = [NSArray arrayWithObjects:sortTitle, nil];
- NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
- NSEntityDescription *entity = [NSEntityDescription entityForName:@"Expense"
- inManagedObjectContext:context];
- NSPredicate *predicate;
- predicate =[NSPredicate predicateWithFormat:@"(addedTimestamp <= %@) AND (addedTimestamp >= %@)",currentDate, endDate];
- NSAttributeDescription* amtDescription = [entity.attributesByName objectForKey:@"amount"];
- NSRelationshipDescription* nameDesc = [entity.relationshipsByName objectForKey:@"expenseCategory"];
- NSExpression *keyPathExpression = [NSExpression expressionForKeyPath: @"amount"];
- NSExpression *countExpression = [NSExpression expressionForFunction: @"sum:"
- arguments: [NSArray arrayWithObject:keyPathExpression]];
- NSExpressionDescription *expressionDescription = [[NSExpressionDescription alloc] init];
- [expressionDescription setName: @"Sum"];
- [expressionDescription setExpression: countExpression];
- [expressionDescription setExpressionResultType: NSDecimalAttributeType];
- [fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:amtDescription, expressionDescription, nameDesc, nil]];
- [fetchRequest setPropertiesToGroupBy:[NSArray arrayWithObject:nameDesc]];
- [fetchRequest setResultType:NSDictionaryResultType];
- [fetchRequest setEntity:entity];
- [fetchRequest setPredicate:predicate];
- [fetchRequest setSortDescriptors:sortDescriptors];
- [context executeFetchRequest:fetchRequest error:&error];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement