When designing a class hierarchy, sometimes the subclass has added a new initWithSomeNewParam method, and it would be desirable to disable calls to the old
initWithSomeNewParam
To add to what @DarkDust posted, you could alternatively use UNAVAILABLE_ATTRIBUTE
UNAVAILABLE_ATTRIBUTE
- (id)init UNAVAILABLE_ATTRIBUTE;
This will throw an error when a user tries to call init on an instance of this class.
init