Szukaj…
Uwagi
Kategorii można użyć do zastąpienia metod klasy. Nawet jeśli metoda jest faktycznie prywatna. Dostęp do zastąpionej metody nie można uzyskać z kategorii ani nigdzie indziej. Dlatego ważne jest, aby podczas dodawania metod do istniejącej klasy upewnić się, że metody te jeszcze nie istnieją.
Utwórz kategorię
Kategorie zapewniają możliwość dodania dodatkowej funkcjonalności do obiektu bez podklasy lub zmiany rzeczywistego obiektu.
Na przykład chcemy ustawić niestandardowe czcionki. UIFont
kategorię, która dodaje funkcjonalność do klasy UIFont
. Otwórz projekt Xcode, kliknij Plik -> Nowy -> Plik i wybierz Plik celu C, kliknij Dalej, wprowadź nazwę kategorii, powiedz „CustomFont”, wybierz typ pliku jako Kategoria i Klasa jako UIFont, a następnie kliknij „Dalej”, a następnie „Utwórz. „
Zadeklaruj metodę kategorii: -
Kliknij „UIFont + CustomFonts.h”, aby wyświetlić plik nagłówka nowej kategorii. Dodaj następujący kod do interfejsu, aby zadeklarować metodę.
@interface UIFont (CustomFonts)
+(UIFont *)productSansRegularFontWithSize:(CGFloat)size;
@end
Teraz zaimplementuj metodę kategorii: -
Kliknij „UIFont + CustomFonts.m”, aby wyświetlić plik implementacji kategorii. Dodaj następujący kod, aby utworzyć metodę, która ustawi czcionkę ProductSansRegular.
+(UIFont *)productSansRegularFontWithSize:(CGFloat)size{
return [UIFont fontWithName:@"ProductSans-Regular" size:size];
}
Zaimportuj swoją kategorię
#import "UIFont+CustomFonts.h"
Teraz ustaw czcionkę Label
[self.label setFont:[UIFont productSansRegularFontWithSize:16.0]];