SJOSearchableFetchedResultsController additions#2
Open
lukestringer90 wants to merge 5 commits intoblork:masterfrom
lukestringer90:SJOSearchableFetchedResultsController-additions
Open
SJOSearchableFetchedResultsController additions#2lukestringer90 wants to merge 5 commits intoblork:masterfrom lukestringer90:SJOSearchableFetchedResultsController-additions
lukestringer90 wants to merge 5 commits intoblork:masterfrom
lukestringer90:SJOSearchableFetchedResultsController-additions
Conversation
added 5 commits
April 18, 2014 22:52
…ed object context. This allows a SJOSearchableFetchedResultsController to be constructed without the dependency on SJOStore. This is helpful if you only want to use this class without the the rest of SJODataKit, say with your own Core Data framework, or simply using standard Core Data classes. If the `store` property is set then the `managedObjectContext` property is set to be the `store.mainContext` managed object context. I think that another constructed should also be offered now, and the `store` property made readonly publicly. This way the `managedObjectContext` property would be immutable which would better as you would't want this changing after the object's construction.
This is helpful if you have a search-specific view setup. Say for example a tab bar controller is used. If a view controller is popped from the navigation stack to SJOSearchableFetchedResultsController which is actively searching, then the tab bar controller may want hiding. The `searchIsActive` property enables this behaviour.
…ex is to be displayed for the tableView. If `searchIsActive` is YES then the sectionKeyPath return value will be ignored and nil used regardless. This is because A a section index should not be shown while searching, and B executed fetch requests take longer when sections are used. When searching this is especially noticable as a new fetch request is executed upon each key stroke during search.
Owner
|
Great stuff. Might as well remove the Store initialiser and property, since all it needs is the context. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I was using SJOSearchableFetchedResultsController in a scenario where I wanted to display a section index for a table view. So I made some changes to facilitate this. Mainly the ability to override a method in your subclass to specify the
sectionKeyPaththat should be used when constructed new NSFetchedResultsControllers.This worked fine but then I released that the table view section index should not be displayed when the user is searching. So the
newFetchedResultsControllerWithSearch:method takes this into account by ignoring any specifiedsectionKeyPathif the user is searching. This necessitated thesearchIsActiveproperty, which is set to YES when searching begins, and NO when searching is cancelled.I also added the ability to construct a SJOSearchableFetchedResultsController with a managed object context if you want to use SJOSearchableFetchedResultsController without being depending on an SJOStore instance.
So to use a section index in a SJOSearchableFetchedResultsController subclass: