Skocz do zawartości

Witaj!

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

Zdjęcie
- - - - -

Cocoa bindings


  • Zaloguj się, aby dodać odpowiedź
8 odpowiedzi w tym temacie

#1 hop

hop
  • 66 postów
  • SkądMińsk Maz

Napisano 26 sierpnia 2010 - 14:55

Witam

Od kilku dni czytam książkę „Cocoa programming for mac os x” autorstwa Aarona Hillegasa. Natknąłem się na pewne zadanie (str. 135 wyd. 2) którego nie mogę rozwiązać :

„Zrób aby aplikacja sortowała ludzi po długości nazwiska.Zadanie to można wykonać używając jedynie Interface Buildera. Trik polega na użyciu ścieżek-kluczy (keypaths).String ma metodę length ”.

Próbowałem z marszu to wykonać:
oto okno mojej aplikacji
[ATTACH]6502[/ATTACH]
i okno inspektora:
[ATTACH]6504[/ATTACH]
ale konsola pokazała mi błąd:

10-08-26 15:20:35 q4[923] [<__NSArray0 0x10012b390> addObserver:forKeyPath:options:context:] is not supported. Key path: personName.length

oprócz tego okno aplikacji nie pokazuje się wogóle.

próbowałem też tak:

okno inspektora
[ATTACH]6503[/ATTACH]


błąd:

10-08-26 15:24:33 q4[938] [ addObserver: forKeyPath:@"sortDescriptors.personName.length" options:0x0 context:0x100226bd0] was sent to an object that is not KVC-compliant for the "sortDescriptors" property.

czy ktoś to rozumie? Rozumiem że obiekt jest niezgodny z KVC ale komunikatu nie rozumiem.Która metoda jest bliższa prawidłowości bo wydaje mi się że już nic nie rozumiem.

#2 metal_man

metal_man
  • 489 postów
  • SkądChorzów

Napisano 26 sierpnia 2010 - 19:33

Wiele tutaj zalezy od wersji XCode jaka uzywasz. Skoro masz wydanie 2 ksiazki to czesc rzeczy moze wymagac troche innego podejscia niz jest to napisane w ksiazce.

#3 hop

hop
  • 66 postów
  • SkądMińsk Maz

Napisano 26 sierpnia 2010 - 20:22

To prawda, ale prawda jest również taka że ten temat jest również słabo opisany.

#4 krzyspmac

krzyspmac
  • 152 postów
  • SkądWarszawa

Napisano 27 sierpnia 2010 - 00:12

Udostępnij kod źródłowy tak (np. zip, cały projekt). Na pusto trochę cieżko :)

#5 hop

hop
  • 66 postów
  • SkądMińsk Maz

Napisano 30 sierpnia 2010 - 12:00

Witam raz jeszcze, udało mi się wywalić co trzeba z projektu (katalog z aplikacją) i oto on: [ATTACH]6550[/ATTACH] proszę o wyrozumiałość że trwało to tyle czasu ale szukałem programu do spakowania (w końcu spakowałem zipem).

#6 konole

konole
  • 412 postów
  • SkądWarszawa

Napisano 30 sierpnia 2010 - 12:09

yh, po prostu klikasz prawym w katalog i "Kompresuj"

#7 hop

hop
  • 66 postów
  • SkądMińsk Maz

Napisano 30 sierpnia 2010 - 12:11

ok dzięki już to wiedziałem ale chciałem podzielić plik na kawałki

#8 hop

hop
  • 66 postów
  • SkądMińsk Maz

Napisano 31 sierpnia 2010 - 08:54

ok,ale jak to zrobić żeby to działało??

#9 hop

hop
  • 66 postów
  • SkądMińsk Maz

Napisano 27 maja 2011 - 09:34

Witam Próbuję obecnie programować w Xcode 4. Nie jest on może doskonały,ale jest.Próbuję nauczyć się stosowania bind (połączeń).Zrozumiałem narazie tyle że potrzebny jest model ze zmiennymi i metodami (akcesorami) które są KVC. Próbowałem przybindować np. suwak do zmiennej float-to się udaje.Następnie etykietę tekstową do tej samej zmiennej float - to się również udaje.W efekcie można sterować suwakiem etykietę.OK,ale jak przybindować np. checkbox do czegoś żeby np. po wyłączeniu aplikacyjki i włączeniu ponownym było jego ustawienie ponownie takie samo jak przed wyłączeniem aplikacji. Próbowałem przez Shared User Defaults Controller ale to się nie udaje wogóle.Czy takie coś wogóle tak się da zrobić? W modelu chcę zadeklarować zmienną która będzie odzwierciedlała stan checkboxu, następnie do tej zmiennej (BOOL) binduję checkbox, może ja tu coś nie rozumiem jeśli tak to co robię źle?Wyskakuje małe okienko dialogowe i jak są te ustawienia domyślne to jest wszystko w porządku, ale jak coś zmienię to jest BE. Moja klasa modelowa nazywa się Model. Gdy pojawia się to okienko dialogowe do bindowania to wybrane jest kontroler:Model,Custom class:Model i to jest dobrze ,natomiast jak zmienię to na : kontroler-Shared User Defaults Controller to wogóle nie jest dobrze (nic się nie zgadza).O co tu chodzi?




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

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