You can use a class extension. I prefer them over categories (for this purpose) because the methods they declare must be implemented in the main @implementation
block for the corresponding class.
It is common for a class to have a publicly declared API and to then have additional methods declared privately for use solely by the class or the framework within which the class resides. You can declare such methods in a category (or in more than one category) in a private header file or implementation file as mentioned above. This works, but the compiler cannot verify that all declared methods are implemented.
Class extensions allow you to declare additional required methods for a class in locations other than within the primary class @interface
block
You declare a class extension like this:
@interface MyObject () // No name is given in the parentheses