Core Data - Getting Unique Rows

2019-06-05 08:05发布

问题:

I'm working on an iPhone app that uses Core Data. I have only one entity called Books, and that entity has the attributes Title, Author, ISBN, Description and Shelf.

I'm working on the book editing view, and want to have a UIPickerView listing all of the unique Shelf rows so that the user can just pick a shelf.

My question is -- how do I get an NSArray of all of the unique Shelf attributes across all of the books in the database? I have access to the managedObjectContext of the Book being edited, so would I use some sort of a fetch request?

Thanks!

回答1:

You can get a duplicate-less array of available shelves with the array operator @distinctUnionOfArrays.
But IMO it would be a cleaner solution to redesign your data model, so that there are two entities (books and shelves).
You could then create a relationship between book and shelf.