Thanks for filling out our form!
Here's what happens next:

We'll write you back as soon as possible, right now we might be very busy saving the World. Give us a day or two, we'll contact you for sure.


In the meantime, perhaps you would like to take a look at one of our blog posts that explains

How do we work with our Clients
How we can help you with your business

In Touch,
Prograils Team

Prograils blog

Michał Majchrzycki on 07.11.16 in Mobile
Post prograils mobile blog how to group values

How to group values by the Core Data attribute

Core Data is a powerful database for iOS and MacOS. It allows you to store information on device and - of course - read them. For small and bigger projects Core Data is a great solution. Especially that Core Data contains "magical" features as fetching, sorting or summing values.

Recently, I've been working working on small database using Core Data. The project is developing in Swift 3. After creating all relationships between attributes and entities I started thinking about using data from Core Data to get some results. First I wanted simple summing but later I decided that I also want to group some added values.

To be clear - I don't want to group attributes inside entity, but group values inside attribute. Let's say that we have attribute called 'Colors' with values as:

red
green
blue
etc.

Colors have a relationship with other entities so user can add many values with red color or green color. For example:

apples - green
peaches - green
strawberries - red
raspberries - red

How to group Colors and show only those values that has been added? Well, we will need NSFetchRequest.

Let's start with the easy one. First, we need to create function that will give us NSFetchRequest with grouped values of Colors. Our code will look like this:

This part lets us to sort Fruits - by date, but of course we can use another value. We can also add more sort descriptors. Then, we move to Colors:

As you can see, first we have Fruits sorted by date, then we can set filters, which are in that case Colors. Finally, we should get only those Colors that have added values (ie Fruits). Results can be print or simply (that was my case) put into tableView.

Stay tuned, as next time I'll show you more simple tricks that can be done with Core Data on Swift. Follow us on Twitter to make sure you won't miss my next blogpost.

Meanwhile why won't you take a look at games we created for the Ludum Dare 27 hackathon. Have fun!

photo by: Álvaro Serrano, unsplash.com

Share on
comments powered by Disqus