Chcę dostosować jeden UITextField z jakiegoś powodu. Więc obecnie podklasowałem to i dodałem kilka metod.Subclassing vs Extension in swift
Zamiast tego mogę użyć rozszerzenia na UITextField? Które podejście jest dobre? Proszę wytłumacz !
Chcę dostosować jeden UITextField z jakiegoś powodu. Więc obecnie podklasowałem to i dodałem kilka metod.Subclassing vs Extension in swift
Zamiast tego mogę użyć rozszerzenia na UITextField? Które podejście jest dobre? Proszę wytłumacz !
Zgodnie z ogólną regułą (YMMV):
UITextField
? Jeśli tak, zrób rozszerzenie. Wszystkie instancje UITextField
mogą wywoływać nowe metody.UITextField
, które dokładnie określisz? Jeśli tak, zrób podklasę. Tylko instancje podklasy mogą korzystać z nowych metod.Istnieją inne kwestie techniczne, np. Rozszerzenia nie mogą dodawać pól.
Doskonała odpowiedź. Masz na myśli to, że jeśli napiszesz rozszerzenie * to * co drugi kontroler widoku, gdziekolwiek on będzie, może to zobaczyć? Czy musimy używać dowolnego "publicznego", "wewnętrznego" atrybutu czy czegoś takiego? – Honey
@Honey To zależy od zakresu, którego potrzebujesz: gdzie musisz użyć 'extension'? – notsoux
** Powinieneś wyjaśnić, co chcesz robić **. Niektóre rzeczy można zrobić z dziedziczeniem, ale nie z rozszerzeniami, a inne rzeczy mają sens z rozszerzeniami, ale nie z dziedziczeniem. Twoje pytanie "tak jak jest" jest zbyt ogólne. Nie ma odpowiedzi na twoje pytanie, tak samo jak nie ma mądrej odpowiedzi na pytanie "co jest lepsze, samochód czy śmigłowiec"? – Antonio
dowolny kod, przykład, co dokładnie chcesz zmodyfikować w zachowaniu pola tekstowego? –