Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

Komunikacja pomiędzy obiektami w SWIFT


  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 OneGhost

OneGhost
  • 296 postów

Napisano 18 grudnia 2015 - 08:53

Chciałem się dowiedzieć jaka jest prawidłowa (najlepsza) metoda komunikacji pomiędzy obiektami w konkretnym przypadku. Mam model World, który zawiera tablicę dataSources obiektów WorldDataSource. W każdym WorldDataSource jest tablica var places: [SomeType].

Chciałem się dowiedzieć w jaki sposób powinienem informować World o zmianie places w jednym z dataSources.

 

Wydaje mi się, że mam 3 możliwości, ale jeśli są inne to proszę o podpowiedź.

1) Stworzyć sobie protokół WorldDelegate (zaimplementować go w World) i var delegate: WorldDelegate w każdym WorldDataSource, przypisywać delegate na World i w WorldDataSource.places { didSet {} } wywoływać jakąś metodę na delegate.

2) Dziedziczyć po NSObject i używać addObserverForKeyPath tak jak wcześniej w Obj-C.

3) Używać NSNotificationCenter, ale to mi się wydaje słabym pomysłem.

 

Podobna sytuacja będzie jak będę chciał informować o takich zdarzeniach kontroler, ale akurat teraz chodzi mi o obserwacje Model->Model.

 

Jaka jest najlepsza metoda do tego typu obserwacji?






Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych