In this year's WWDC presentation it was suggested that a best practice for batching indexes was to use a spotlight delegate.
In my case, the data I have is static and will not change during the lifetime of the app. There are somewhere between 500 - 5000 total items to index. Is there a reason I should not just run a background thread to do the indexing rather than implement a delegate? I have a database variable to track if I've already indexed the data or not...
I have several apps that have this kind of data; I'm trying to abstract the spotlight function such that I don't have to add a delegate to each app. Of course, I could add the delegate to the abstraction, but I'm really just trying to understand if there is more advantages to using a delegate.