Applen tarjoama iPhone SDK on kuin karkkia koodaajalle. Interface Builderilla on niin helppoa rakennella WYSIWYG-näkymiä komponenteista, että jää helposti opiskelematta paljon taustatietoutta. Sellaista taustatietoutta, jonka avulla voi a) tehdä sovelluksista tehokkaampia ja nopeampia sekä b) välttää käyttöliittymämokat, kun tekee asiat suositellulla tavalla.

Pari asiaa, jotka ovat auenneet itselleni viime aikoina muutamia harrasteprojekteja koodaillessa:

  • iPhonen MVC-malli pitää opiskella ja sisäistää kunnolla, ennen kuin lähtee sähläämään omien kontrollereiden kanssa.
  • Melkein kaikki tavallisen sovelluksen navigaatiotarpeet on helppo toteuttaa yhdistelemällä valmiita Tab Controllereita, Navigation Controllereita ja Table View Controllereita sopivasti sisäkkäin.
  • Useimmiten iPhone SDK:n sisäänrakennetut kontrolleriluokat (UIViewController ja sen perilliset) huolehtivat kaikesta automaattisesti. Niitä kannattaa laajentaa vain sen verran, että saa omat datakentät täytettyä ja käsiteltyä.
  • Näkymät (UIView ja sen perilliset) kannattaa hajauttaa erillisiin .xib-tiedostoihin, jolloin sovellus käynnistyy paljon nopeammin ja näkymiä lataillaan vasta tarvittaessa.

[amazon 1430216263 thumbnail] Eräs tapa opiskella iPhonea alusta lähtien on Beginning iPhone Development -kirja. Se on hieman pitkäpiimäinen ja käy läpi paljon manuaalisia toimenpiteitä, jotka normaalisti tehdään Xcoden projektipohjilla. Mutta lukemalla tärkeät osuudet siitä saa hyvän mielikuvan "oikeasta" tavasta toteuttaa iPhone-sovelluksia MVC-mallin mukaisesti.