Zpět Obsah Další

Foundation Kit


Známe-li již všechny základní služby a prostředky, jež ve vývojovém systému Cocoa můžeme používat pro tvorbu aplikací, zbývá jen popsat konkrétní sadu knihovních služeb. Samozřejmě, že tento seriál nemůže nahradit referenční příručku; stojí však za to se alespoň stručně seznámit s nejběžněji používanými třídami. Namísto podrobného popisu jejich služeb si obvykle ukážeme jednoduchý příklad použití.

Přehled tříd

Nejprve projdeme "letem světem" téměř všechny třídy, jež ve Foundation Kitu jsou, a o každé si stručně řekneme k čemu slouží. Nebojte se, API Cocoa je navrženo rozumně, takže tříd nebude nijak mnoho — na rozdíl od stovek tříd, jež obvykle bývají v prostředích založených na C++, stačí pro kompletní API Foundation Kitu méně než padesát tříd, a to je mezi nimi (vzhledem k paradigmatu proměnných a neproměných objeků) ještě řada dvojic. Ostatně, podívejte se na obrázek — na něm jsou znázorněny všechny třídy, včetně jejich vzájemných vazeb:

FKAllClasses

povšimněte si poměrně mělké hierarchie: v dynamickém systému založeném na Objective C či Javě není zapotřebí vytvářet příliš mnoho podtříd; jak ukazuje obrázek, největší hloubka je čtyři úrovně včetně základní, kořenové třídy NSObject. To samozřejmě opět výrazně zvyšuje přehlednost systému — volíme-li v systému Cocoa např. zcela samozřejmým způsobem pouze mezi NSArray a NSMutableArray podle toho, zda chceme obsah pole dále měnit nebo ne, nemusíme tomu věnovat žádné duševní síly, a můžeme se plně soustředit na optimální algoritmus řešeného problému. Máme-li však naopak třeba v API Epocu, založeném na C++, volit mezi jeho třídami CArrayFixFlat, CArrayFixSeg, CArrayPtrFlat, CArrayPtrSeg, CArrayVarFlat, CArrayVarSeg, CArrayPak, CArrayPakFlat a TArray (jež přitom všechny dohromady nenabízají zdaleka tak kvalitní služby jako NS(Mutable)Array), abychom řešení problému odložili ad acta, a na nějakou dobu se soustředili pouze na nešikovné "cépluspluskové" API...

V následujícím textu si pro většinu tříd Foundation Kitu stručně řekneme, k čemu a jak slouží:

Ostatní třídy Foundation Kitu, o nichž jsme se nezmínili, jsou většinou jen speciality určené pro zvláštní a výjimečné případy, s nimiž se naprostá většina programátorů jakživa nepotká.

Shrnutí

V příštím dílu našeho seriálu se podíváme na nejčastěji používané třídy blíže, a ukážeme si jejich využití na praktických příkladech: seznámíme se s využitím beztypových kontejnerů pro sestavení obecné datové struktury a ukážeme si i výhody, jež to přináší proti přípravě vlastních specifických tříd; ukážeme si ošetření chybových stavů pomocí služeb třídy NSException, a mnohem více...


Zpět Obsah Další

Copyright © Chip, O. Čada 2000-2003