How to display an NSSet in a UITableView?

Martin Cote picture Martin Cote · Sep 17, 2009 · Viewed 8.7k times · Source

How would you proceed to display the content of an NSSet in a UITableView?

As you know, the table view will ask for the element at a given row, but since the NSSet elements aren't ordered, this doesn't mix well.

My current solution is to iterate through the NSSet until I reach the element at a given index, but this really doesn't feel right.

You may ask why I don't use an NSArray instead. This is because I'm using Core Data, which uses NSSets to store collection of elements.

Any help would be appreciated.

Answer

mrueg picture mrueg · Sep 17, 2009

Since you're only displaying the elements, why not take the NSSet, and call -[allObjects] on it to get a NSArray?

If your data changes, you'll have to re-fetch anyway, even with a NSSet, and apart from the initial conversion from the NSSet, using the array is quite fast.