It is not necessary in this particular application because CKRefreshControl is referenced programmatically in the other view controllers.

It is necessary for an application that otherwise does not reference CKRefreshControl in its source (an application that never defines the CKRefreshControl programmatically) ... the load method would otherwise not be called ... the developer would see this in his console:

Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named UIRefreshControl'

Because the decoder does not know what a UIRefreshControl is.