Pytanie moze trywialne, ale nie ogarniam jednej rzeczy.
Mamy ViewController i tworzymy powiedzmy
- Pierwsza opcja
var viewModel: ViewModel!
lub
var viewModel: ViewModel?
pomiedzy ? a ! bedzie jakas roznica, jesli i tak wstrzykujemy w viewDidLoad?
- Druga opcja
W pierwszej opcji musimy wstrzyknac w viewdidload ViewModel.
Jak to zrobimy bez wstrzykniecia tylko Od razu utworzymy obiekt czyli:
var viewModel = ViewModel()
Jak bedzie roznica? Nie bardzo to rozumiem
Pytanie mam jeszcze o ewentualny Networking czy tam Service z poleceniem Get. Czy przy MVVM powinnismy utworzyc taki obiekt np. bezposrednio w ViewModelu czy wstrzyknac go w ViewControllerze do przy inicjalizacji ViewModelu? Kazdy widze jakos inaczej to robi i nie wiem jak powinno byc poprawnie stosujac zasady clean code.