1. category can be used to add new methods for existing classes.
2. categories can be managed and implemented. Multiple methods of different categories can be put into different. M files. For example, nswindow has many categories, such as interfaces, toolbar, and drag, all of which are placed in different files. This is the effect of using categories.
3. Delegation is another type of application. We can declare the delegate method in the nsobject class so that any class can implement these delegate methods, which are called deleGATE objects. Meanwhile, the nsobject category is called informal protocol.
4. Informal protocols are represented by parentheses, while formal protocols are represented by <>.
5. To create a protocol for a subclass, you only need to abide by a certain protocol for the base class.
6. if there is a class whose instance variable is an object, it should be released automatically or manually, because if there is a value assigned, its reserved counter will be automatically added with 1, therefore, release the sdk in the dealloc function of the class.