Additions and utilities to make it concurrency easier with the Core Data framework.
jayway/CWCoreData
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
master
Could not load branches
Nothing to show
Could not load tags
Nothing to show
{{ refName }}
default
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
-
Clone
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more.
- Open with GitHub Desktop
- Download ZIP
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
CWCoreData ========== Contains convinience additions to classes in CoreData in order to lazily create a managed object model, persistent store cordinator, and thread local managed object contexts when requested. Also have additions to NSInvocation to support calling with NSManagedObject instances over thread boundries. This project is created with the intent to be used as a sub-project for other Xcode project. Additionaly this project can be used as a git sub module. This project has a dependency to CWFoundation. This dependency in added as a relative sub-project at ../CWFoundation. You can clone this repo yourself or it will be cloned for you when building through the CWCoreDataEnsureDeps target. CWCoreData is weakly linked agains CWFoundation in order to avoid duplicate symbols if CWCoreData is used with other project that also have dependencies to CWFoundation. The result of this is that any project that links against CWCoreData must also link against CWFoundation explicitly. You add this project as a sub project in Xcode like this: 1. Add this project as a sub project to your project. 2. Make sure this project product (libCWCoreData.a) is a target member. 3. Make sure the subprojects product (libCWFoundation.a) is a target member. 4. Add the CWCoreData target as direct dependency. 5. Add ../** to user header search paths. 6. Add -all_load to other linker flags. The target PersistedXMLTranslator contains a modified version of the XMLTranslation sample app from CWFoundation. This version: * Use RSSItem, a NSManagedObject subclass, for RSS items. * Fetches RSS items to a second managed object context on a background thread. * Fetch logic is moved into the model layer, using Sync-Async Pair pattern. * Use a NSFetchedResultsController to back a table view. Functionality ============= The public headerfiles are the official source of documentation. This section only describes a subset of the main funcationality. * Lazy creation of shared NSManagedObjectModel and NSPersistenceStoreCordinator. * Lazy creation of thread local NSManagedObjectContext instances. - Saves propages to all contexts. - Contexts are properly removed when threads exits. * Convinience methods for fetching and creating NSManagedObjects. * Convinience methods for transfering NSManagedObjects across thread contexts. Licence ======= CWCoreData is open source licensed under New BSD Licence. The intent and purpose for this licence is that you are free to use CWCoreData for any purpose as long as you give attribution. Copyright (c) 2011, Jayway AB, All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Jayway AB nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JAYWAY AB BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
About
Additions and utilities to make it concurrency easier with the Core Data framework.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published