2011-01-16 13 views
32

Kakao dla systemu Mac OS X wspiera technologię wiązania kakao, zmniejszając potrzebę stosowania kodu kleju między swoimi widokami a modelami.Czy istnieje jakiś techniczny/koncepcyjny powód, dla którego iOS nie obsługuje wiązań kakaowych?

Odtwarzanie wiązań kakao na KVC w KVO wydaje się wykonalne przy pomocy kodu źródłowego kokotronu.

Czy istnieje jakiś techniczny lub konceptualny powód, dla którego wiązania kakaowe nie są częścią pakietu SDK? Myślę o wydajności, braku zbierania śmieci, braku obsługi KVC z elementów UI (na przykład UISlider).

+2

Wiązania kakaowe istniały na długo przed zbiorem śmieci, więc można je wykluczyć. –

+4

Stworzyłem prosty (tzn. Bez wartości transformatorów) mechanizm podobny do wiązania: zobacz NSObject + SimpleBindings w https://github.com/mruegenberg/objc-utils/tree/master/CoreFoundationAdditions Brak wsparcia dla konstruktora interfejsu w tej chwili, ale pomaga w uproszczeniu kodu. – mrueg

Odpowiedz

7

Wiązania na pulpicie wymaga:

  1. wszystkie odpowiednie elementy interfejsu użytkownika, aby odsłonić powiązania ich istotnych właściwości
  2. wdrożenia NSArrayController infrastruktury do obsługi wybór

iOS, punkt 2 staje się mniej problemu. Rzadki (a może nawet zły projekt interfejsu użytkownika) ma układ widoku głównego, w którym możliwy jest wybór wielokrotny. To jest, gdzie NSArrayController naprawdę wchodzi w swoje.

Wiązania dla UITableView stać się mniej praktyczne jak obecny NSArrayController projektu nie rozciąga się na wiele części, tytuły itp

Punkt 1 byłoby przydatne. Wymaga to jednak dużej ilości pracy ze strony Apple w celu implementacji obsługi powiązań we wszystkich kontrolkach UIKit. Zakładam, że nigdy nie stanie się wystarczająco priorytetem do ich wdrożenia.

+0

Mike, dzięki za odpowiedź. –

+2

Pod koniec tej imprezy, ale nie zapomnij o NSTreeController. Choć może chcesz, możesz (ba-dun). Właściwie to naprawili. Ale myślę, że mógł obsłużyć sekcje widoków stołowych. Ponadto w trybie edycji symulowana jest obecnie wielokrotna selekcja. Biorąc pod uwagę granice interfejsów dotykowych (bez klawiszy modyfikujących), to właśnie utknęliśmy. Ale myślę, że kontroler tablicowy byłby świetny na iPadzie z detalem głównym, kiedy chcesz edytować filtrowaną listę. –

+4

Często wiążę moje "@ właściwości" z polami wyboru i polami tekstowymi w moich aplikacjach dla Mac OS X ... byłoby miło móc to zrobić w iOS. Czuję, że być może powodem, dla którego Apple go nie uwzględnił, jest to, że są raczej trudne do debugowania ... ślad stosu, który dostajesz, kiedy zepsujesz kakao Bowiązanie pełne jest wywołań w SDK, co sprawia, że ​​trudno jest się zorientować co zrobiłeś źle. – ArtOfWarfare

Powiązane problemy