Categories provide the ability to add some extra functionality to an object without subclassing or changing the actual object.
For example we want to set some custom fonts.
Lets create a category that add functionality to UIFont
class. Open your Xcode project, click on File -> New -> File and choose Objective-C file , click Next enter your category name say "CustomFont" choose file type as Category and Class as UIFont then Click "Next" followed by "Create."
Declare the Category Method :-
Click "UIFont+CustomFonts.h" to view the new category's header file. Add the following code to the interface to declare the method.
@interface UIFont (CustomFonts)
+(UIFont *)productSansRegularFontWithSize:(CGFloat)size;
@end
Now Implement the Category Method:-
Click "UIFont+CustomFonts.m" to view the category's implementation file. Add the following code to create a method that will set ProductSansRegular Font.
+(UIFont *)productSansRegularFontWithSize:(CGFloat)size{
return [UIFont fontWithName:@"ProductSans-Regular" size:size];
}
Import your category
#import "UIFont+CustomFonts.h"
Now set the Label font
[self.label setFont:[UIFont productSansRegularFontWithSize:16.0]];