Wpis z mikrobloga

Pytanko do spolecznosci wykopowej #swift #ios

Jak się w swifcie rozwiązuje problemy tego typu jak na zdjęciu?

Chce mieć jedną bazową klase konwertera i rózne, które dziedzicza. Już mam enumy, co przez extension są połączone z BaseConvertType, ale wciiąż nie wiem jak zrobić, żeby metoda convert mogła przyjmować taki parametr?

Strasznie się wydaje ograniczony ten język pod tym względem. Bo oczywiście zwykłe dziedziczenie tutaj nie zdaje egzaminu.
Zeronader - Pytanko do spolecznosci wykopowej #swift #ios

Jak się w swifcie rozwią...

źródło: comment_16154979578eGGV80fU5feLpHylIr2xk.jpg

Pobierz
  • 3
  • Odpowiedz
@Zeronader: Co to ma robić? Bo jakoś nie mogę wywnioskować z kodu. Do czego jest a w funkcji Convert? Czemu zwraca String? Czy dobrze rozumiem, że chcesz po prostu obmyślić jak ma wyglądać struktura kodu w swifcie dla generycznego konwertera? Jeśli tak to zamiast dziedziczenia lepiej zrobić za pomocą protokołów.
  • Odpowiedz
@lawicko: kawałek kody nie jest ważny. Właśnie chciałem zrobić taką bazową klasę i bazowe parametry. żebym potem mógł sobie robić nowy konwerter, który dziedziczy po base i parametry, które też dziedziczą po bazowych parametrach. Bo z tego co zauważyłem to na przykład protocolu nie da się jako argumentów do funkcji dawać, trzeba użyć generica. Ale dając takie rozwiązanie, potem nie mogę overridować i podać pochodnej tego protocolu, bo musi być ten konkretny protokół lub ta konkretna klasa.

Moj zamysl to było:
-> klasa bazowych parametrów
-> klasa bazowa ( ma funkcje co przyjmuje bazowe
  • Odpowiedz