Briefly: there you can declare hidden methods, properties.
Details: In Objective-C, classes can be extended by so-called categories. The class itself is declared like this:
@interface MyObject : NSObject { } - (void)publicMethod; @end
And the category is:
@interface MyObject (MyObjectCategory)// Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ
{ } - (void)privateMethod; @end
Then, when importing a blank file with a category, you will have access to additional class functionality. A category is usually implemented in a separate file according to the declaration:
@implementation MyObject (MyObjectCategory)// ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ - (void)privateMethod { // do smth } @end
If a category is declared without a name in the * .m-file, then it should be there and implemented. It turns out that the additional functionality of the class that it declares remains within the framework of the implementation file.
By the way, there are still categories for separating the implementation of a whole class. You can declare all categories in one procurement file to always be able to use all the features of the class, but to implement categories separately, so as not to sink in tons of code.