Records in SproutCore follow a life cycle similar to records in any other database, but with an important difference. Since the SproutCore store hosts the data only temporarily (remember it's a quick access cache representing remote data), we don't actually perform final data modifications within the application. Instead, we invoke requests and modifications (Create, Read, Update, Destroy) on a remote data store and update our local record state to match them.
We've already seen that records have a status value, such as
SC.Record.READY_CLEAN, which indicates the current state of the record. To help us understand every possible state in the life cycle of a SproutCore record, I've created figures of the