Cześć,
pytanie związane z zaplanowaniem aplikacji iOS używając swift4 + MVVC + CoreData.
Aplikacja stworzona w celach edukacyjnych. Użytkownik może dodawać zadania (Tasks) + osoby (Employees), a następnie przydzielać zadanie do danej osoby. Póki co, osoby oraz zadania pozostają w relacji 1 do n tj. jedno zadanie może mieć tylko jedną osobę, ale jedna osoba może mieć wiele zadań.
Użyte jest CoreData w celu przechowywania danych na dysku.
Chciałem stworzyć tą aplikację zgodnie ze wzorcem MVVM.
Obecnie storyboard wygląda tak (Dodałem kilka oznaczeń dla janośći - mam nadzieję, że pomogą):
Mamy pierwszy ViewController (EnteringViewController) w ktorym mozemy wybrać czy chcemy zobaczyc liste zadan (TaskViewController) czy osób (EmployeeListViewController).
Z listy zadań możemy wybrać zadanie tak, aby móc wybrać osobę do zadania.
Dla list osób stworzyłem EmployessViewModel w którym są rzeczy związane z dodawaniem/usuwaniem/pobieranie osób z coredata.
Dla listy zadan stworzylem TaskViewModel w którym są rzeczy związane z dodawaniem/usuwaniem/pobieraniem zadań z coredata.
W ViewControllerze gdzie możemy przydzielić osobę do zadania potrzebne nam są obiekty obu tych klas. Można je tam przekazać i tak to na razie jest zrobione, ale wydaje mi się ze istnieje lepsze rozwiązanie tego problemu. Być moze trzymanie obsługi CoreData w dwóch różnych ViewModel'ach nie jest dobrym pomysłem?
Mam nadzieję, że opis w miarę zrozumiały. Będę wdzięczny za wszelką pomoc + konstruktywną krytykę.
- screenshot-20181202194024.png (435 KB) - ściągnięć: 111