HelloWorld


HelloWorld!

3 lépésben!


Na! Akkor kezdjük azzal, hogy van egy Mac-ünk és minden rajta van ami kell a fejlesztéshez. :)

1. Új projekt

A fejlesztéshez nincs túl sok alternatíva. Használjuk az Xcode-ot. Ingyenes, de ha nem vagy regisztrált developer, úgysem mész vele sokra...

Az XCode elindítása után kell nekünk egy új projekt, ami View-based lesz (erről máskor majd bővebben elmélkedünk).

Milyen fájlokkal dolgozunk?

Legyen az app neve HelloWorld, és már bent is vagyunk az editorban. Itt a következőket láthatjuk:
Annak aki programozott C-ben, legalább a .h fájlok ismerősek, de a többiről nem sokat tudunk. Nos itt a forrás fájlok a .m kiterjesztést kapták. C++ esetén .mm lesz, de azt ne kérdezze senki, hogy akkor most miért .m kiterjesztéssel írunk objektum orientált programot... :)
A .xib a SilverLight-ból ismerős .xaml közeli testvére. Azt, hogy apja, bátyja vagy éppen az unokaöccse (azaz ki találta fel a spanyol viaszt) sose fogjuk megtudni, mindenesetre annyi bizonyos, hogy kisérteties a hasonlóság.

2. UX - induljon az építkezés

Kezdjük el összerakni a felhasználói élményt. Semmi különöset nem szeretnénk, csak legyen egy gomb, amit meg kell nyomni ahhoz, hogy üdvözöljön minket a program.
Dupla katt a .xib fájlon elindítja az Interface Builder-t.
Így néz ki a mi kis .xib fájlunk, és mellette a még üres view.

3. UX - rakjuk a téglákat

Akkor kell keresni valahol egy gombot meg egy label-t. Van itt kéznél valami Libray feliratú cucc, amiben vannak dolgok, lehet ott kellene keresni...
Na! Ez! Van label meg Round Rect Button! Ezekből egyet-egyet dobjunk fel a view-ra. A gombra írjunk valami találó szöveget, hogy a felhasználó biztosan meg akarja majd nyomni.

4. Programozzuk be a gombot!

Na akkor már csak annyi a dolgunk, hogy a gomb megnyomására írjunk egy olyan kódot, ami a label-be beleír egy “Hello iOS!” szöveget.
Na és itt kezdődnek a problémák. Jó Delphi-s berögződések alapján nyomkodjuk a gombot, de nem történik semmi. Nagy nehezen ráakadunk a gombhoz tartozó Event szekcióra aminek nagyon megörülünk.
Nyomkodjuk is a Touch Up Inside üres kört hevenyen, DE még mindig semmi...
hmmm... Nincs mese, mást kell csinálni...

5. Programozzuk be a gombot - máshogyan...

Itt már muszáj puskázni valami szakirányú irodalomból, mert erre máshogy nem jössz rá. Tehát puskázni kezdünk, már ha van miből, de aki keres talál, így előbb vagy utóbb visszatérünk az Xcode-ba és már nyitjuk is meg a view-hoz tartozó kontroller .h fájlt.
Itt jegyzem meg, hogy az iOS alapvetően a jó öreg MVC modellt teszi kötelezővé az app-ok elkészítésében. Ez eleinte kissé nyűgösnek tűnik, de aki előtt nem teljesen ismeretlen ez a modell, könnyebben elviseli a helyzetet.

6. Programozzuk be a gombot - írjuk meg a kódot

Na akkor amit deklaráltunk, azt most még le kell programozni.
Ha esetleg valakinek nem lenne világos, az imént a HelloWorldViewController osztály deklarációját adtuk meg! hehe... :)))
Na akkor most nyitjuk a .m forrás fájlt és már írjuk is a kódot.
Itt a következőket kell elintézni:
  • Legyen látható a mi label objektumpéldányunk az IB számára
  • Meg kell írni a nyomógomb eseményt


A @synthesize az előbbire megoldás, míg a megírt sayHello kódja a másikra. Az utolsó eljárásba írt myLabel felszabadítás már csak hab a tortán, de anélkül biztosan nem jutunk át az AppStore minőségellenőrzésen! :) na jó, ezzel a programmal egyébként sem, de jobb ezeket a dolgokat már idejekorán tudni.
Szemfülesebb olvasók időközben kiszúrták, hogy azért van itt “dot” szintax is, nem csak a rettenet [ ] zárójelezés... (:

7. Programozzuk be a gombot - rendeljük egymáshoz a dolgokat

Na akkor vissza az IB-be! Most össze kell kötözgetni a gomb eseményét a hozzá megírt kóddal, illetve a label-t az általunk létrehozott instance-szal. És szó szerint ezt kell csinálni! A kék vonalat nem én rajzoltam, az összekapcsolás tényleg így néz ki élőben! (:
Az összekapcsolás után a gomb event listája már így néz ki:
Még össze kell kötni a label-t a myLable instance-szal, ami kísértetiesen hasonlít az előbb látottakhoz, csak ott nem eseményt hanem referenciát kell az összekapcsolásban megadni.

8. Kész a remekmű!

Na akkor build és ha mindent jól csináltunk akkor működik!
Általában első körben senkinek nem megy... (:

Nincsenek megjegyzések:

Megjegyzés küldése