Mark Aufflick, Pumptheory
Audience: Intermediate (Core Data knowledge useful, but not essential)
Prior to Mac OS X Lion, Core Data only had one concurrency model, what is now called “Thread Confinement”. It was a lot of effort to work with this model across multiple threads, what with multiple managed object contexts, merging, etc. Now we have three options – the original “Thread Confinement”, “Main Queue” and “Private Queue” with the latter two making heavy use of Grand Central Dispatch queues and blocks.
Things are certainly much better, but more options doesn’t make it any easier to know how to safely and efficiently implement multiple threads and avoid change conflicts and other issues that put your managed object context into an un-recoverable situation. In this talk, Mark will discuss an approach that uses a set of simple rules to end up with a flexible Core Data application that is always thread safe, easy to maintain, and straightforward to keep your managed object context well managed using Apple’s new models and by keeping changes local to temporary managed object contexts.
Mark Aufflick has been involved in the Apple industry since his first job in 1995 and finally put his Computer Science degree to use becoming a freelance developer in 2000. Since then he has developed back-end, web and GUI applications for various Unix platforms, MacOS and iOS – for both corporate giants and small businesses. Mark has presented on programming topics in fora such as Sydney University’s Web Engineering Group and CocoaHeads. These days Mark is an iOS and Mac developer with his company Pumptheory as well as the convenor of Sydney CocoaHeads.