Zoeken…
Opmerkingen
Categorieën kunnen worden gebruikt om methoden van een klasse te overschrijven. Zelfs als de methode daadwerkelijk privé is. De overschreven methode is niet toegankelijk vanuit de categorie of ergens anders. Het is dus belangrijk om ervoor te zorgen dat bij het toevoegen van methoden aan een bestaande klasse, deze methoden nog niet bestaan.
Maak een categorie
Categorieën bieden de mogelijkheid om wat extra functionaliteit aan een object toe te voegen zonder subklasse of het feitelijke object te wijzigen.
We willen bijvoorbeeld enkele aangepaste lettertypen instellen. Laten we een categorie maken die functionaliteit toevoegt aan de UIFont
klasse. Open uw Xcode-project, klik op Bestand -> Nieuw -> Bestand en kies Objective-C-bestand, klik op Volgende voer uw categorienaam in zeg "CustomFont" kies het bestandstype als Categorie en Klasse als UIFont en klik vervolgens op "Volgende" gevolgd door "Maken. "
Verklaar de categoriemethode: -
Klik op "UIFont + CustomFonts.h" om het headerbestand van de nieuwe categorie te bekijken. Voeg de volgende code toe aan de interface om de methode te declareren.
@interface UIFont (CustomFonts)
+(UIFont *)productSansRegularFontWithSize:(CGFloat)size;
@end
Implementeer nu de categoriemethode: -
Klik op "UIFont + CustomFonts.m" om het implementatiebestand van de categorie te bekijken. Voeg de volgende code toe om een methode te maken waarmee ProductSansRegular Font wordt ingesteld.
+(UIFont *)productSansRegularFontWithSize:(CGFloat)size{
return [UIFont fontWithName:@"ProductSans-Regular" size:size];
}
Importeer uw categorie
#import "UIFont+CustomFonts.h"
Stel nu het lettertype Label in
[self.label setFont:[UIFont productSansRegularFontWithSize:16.0]];