Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:

Software
Začínáme programovat v Cocoa (2)
19. února 2002, 00.00 | Předpokládám, že vás úvod do programování nadchl stejně jako mne a je tedy nutné ukázat ještě něco lepšího. A abych řekl pravdu, není nic snazšího.
Předpokládám, že vás úvod do programování nadchl stejně jako mne a je tedy nutné ukázat ještě něco lepšího. A abych řekl pravdu, není nic snazšího. Vyjdeme z našeho projektu a bez jediného řádku kódu přidáme několik funkcí, které by se mohly hodit. Mimochodem, zkoušeli jste z našeho MujMac TextEditu tisknout? :)A zase Interface Builder

Otevřete si projekt, který jsme udělali, a poklepejte na ikonku MainMenu.nib tak, aby se otevřel Interface Builder (IB). Pokud je vše správně, mělo by se otevřít okno MainMenu.nib, stejné jako na obrázku. Nyní v paletce s grafickými elementy vyberte ten první, který vypadá jako Menu. Z něj vyberte položku Format a přetáhněte ji do našeho menu. Uložte soubor, vraťte se do PB a dejte "Build and Run". Po krátké chvilce se objeví náš textový editor, ve kterém přibylo nové menu Format. Vyzkoušejte si kterou položku chcete, hlavně doporučuji "Show Ruler".

Jistě jste si všimli, že v některých položkách se objevuje místo správného názvu "MujMac TextEdit" nápis "New Application". Vraťme se tedy do IB tím, že poklepeme na MainMenu.nib a opravme to. No, hned to vypadá mnohem lépe.

Aspoň jedek řádek kódu
Domnívám se, že ti trochu pozornější si všimli toho, že se náš editor nechová úplně přesně tak, jak by měl. Problém je v tom, že "neví", že jsme do okna napsali nějaký text, případně provedli nějakou změnu, takže když omylem zmáčkneme tlačítko "Zavřít" místo "Minimalizovat", o text přijdeme.
Otevřete poklepáním soubor MyDocument.nib v IB. Nyní poklepejte na naše textView tak, aby se v něm objevil kurzor. Zmáčkněte klávesu Ctrl a táhněte myší od textView k ikonce "File's owner". V paletce "Inspector" se objeví seznam, na jehož prvním místě je položka delegate. Potvrďte tlačítkem "Connect". Uložte soubor a vraťte se zpět do PB.

Tady si otevřete soubor MyDocument.m, a postavte se úplně nakonec, před řádku @end a vepište následující funkci:
- (void)textDidChange:(NSNotification *)notification { NSLog (@"Now"); }
Vyberte "Build and Run" a umístěte kurzor do okna našeho TextEditu. Jakmile začnete psát, měl by se po stisku každého písmene v PB objevit nápis "Now". To znamená, že když uděláme jakoukoliv změnu v textu, naše textView o tom pošle zprávu. Ukončete program a změňte funkci tak, aby obsahovala následující text:
- (void)textDidChange:(NSNotification *)notification { [self updateChangeCount:NSChangeDone]; }
Zkompilujte znovu program, spusťte ho a umístěte kurzor do okna. Napište jakékoliv písmeno a jak na první pohled vidíte, v červeném bodu v liště se udělal černá tečka, takže aplikace již ví o tom, že došlo ke změně obsahu dokumentu. Pokud se teď pokusíte okno zavřít, měl by se objevit standardní dialog vyzývající k uložení.
About box
Když jsme před několika lety měli na škole programování, používali jsme jednu zásadu. První, co bylo z programu hotové, byl "About box", splash screen nebo prostě něco, kde bylo napsané naše jméno. Svým prvním článkem jsem se tomuto nepsanému zákonu zpronevěřil a je tedy na čase mou chybu napravit. Najděte v PB soubor Credits.rtf a pořádně se vychvalte.
Obsah seriálu (více o seriálu):
- Začínáme programovat v Cocoa aneb v čem je MacOS X opravdu lepší než Windows
- Začínáme programovat v Cocoa (2)
- Jak na Screen Saver - programování v Cocoa (3)