NSAssert or NSLog in defaults switch case
Assertions are for declaring facts that you know to be true, not for conditions that you hope to be true.  If this method is only ever called by your own code, then it makes sense to assert.  On the other hand, if this is a public method, an assertion would not be an appropriate way to perform what is essentially parameter validation.