In Xcode 6.2, my app was working perfectly fine with the NSFetchedResultsController delegate methods being called successfully.

However, after the update the Xcode 6.3 these methods stopped being activated in response to changes in CoreData records!

These functions are:

func controllerWillChangeContent(controller: NSFetchedResultsController)

func controller(controller: NSFetchedResultsController, didChangeObject anObject: AnyObject, atIndexPath indexPath: NSIndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath?)

func controllerDidChangeContent(controller: NSFetchedResultsController)

func controller(controller: NSFetchedResultsController, didChangeSection sectionInfo: NSFetchedResultsSectionInfo, atIndex sectionIndex: Int, forChangeType type: NSFetchedResultsChangeType)

func controller(controller: NSFetchedResultsController, sectionIndexTitleForSectionName sectionName: String?) -> String?

I found the answer to this problem here.

DateTroy's answer turned out to be the solution - adding @objc to each of the NSFetchedResultsControllerDelegate methods causes them to work properly again. I can't explain exactly why this is the case, hence this post goes into the RIDICULOUS SOLUTIONS series!