Ampak preden se lotim čeas je najprej pogruntat kaj zaboga je Objective C in neke čiste osnove potegnjene iz nekje. Nisem sploh vedel, da je za en usrani HelloWorld potrebno 5 vrstic kode
| Apple iPhone SDK | |||||||||
Zanimivo - to je dobro.
Ampak preden se lotim čeas je najprej pogruntat kaj zaboga je Objective C in neke čiste osnove potegnjene iz nekje. Nisem sploh vedel, da je za en usrani HelloWorld potrebno 5 vrstic kode |
|||||||||
Objective-C je nadgradnja Cja... ce ti pase lahko vse v C jeziku pises. Ko se enkrat navadis na Objective-C ti postane super jezik. |
|||||||||
A res se, da uporabiti navaden C? To izgleda že bolj zanimivo. Sicer pa nikoli nisem imel kaj preveč izkušenj z Cjem in to je največji problem. ŠE manj izkušenj sem pa imel z grafičnimi vmesniki. Razen seveda Microsoftove .NET platforme in visual basica kjer je bilo določanje teksta labelu (samo primer) zelo enostavno. Odpreš form builder namečeš potrebne elemente, greš v code view (kjer imaš samo 1 datoteko za kodo) in vpišeš label1.text = "tralalal" in si fertik. Tukaj je stvar precej bolj zakomplicirana. Se vidi, da imam več izkušenj z PHPjem in .NET platformo. Verjetno bi moral nekje najti kako dobro bukvo ali tutorial, ki je res namenjen iPhone SDKju in ni zaj***.
|
|||||||||
Niti ne zadeva je prakticno ista. Lahko v Interface Builderju nameces labele in jih potem v kodi nastavljas kot label.text... Edina razlika je da Cocoa sledi MVC patternom, se pravi Model-View-Controller in moras Interface Builderju povedat katera instance varibla nastavi text tiste labele. Temu se rece bindings. Ce mislis resno razvijat iPhone aplikacije in nasploh z Cocoa, ti predlagam da si najprej pogledas osnove Objective-Cja in osnove Cocoa-e. Potem rabis se priblizno kak mesec prakse in vaje da zacnes normalno funckionirat z temi design patterni. Ampak ko dojames je zadeva super. Moti me samo memory management katerega moras pri iPhoneu urejat rocno in se kar ne stekam cist dober to z retain counti, releasi in podobno. Ampak kar gre moj app bo kmalu koncan. lp |
|||||||||
No ja trenutno mi je uspelo izpisat nek tekst ob pritisku na gumb. Še vedno nimam sicer pojma kako določiti velikost fonta z samo kodo. Torej verjetno imaš kako idejo kje bi našel kako dobro knjigo ali kako stran kjer bi našel informacije o objective C in Cocoa? Če mislim s tem kaj resno narediti še ne vem ampak morda pa že - če ne zaradi drugega pa zaradi programiranja za Mac okolje.
|
|||||||||
Najboljsi resource so ti guide-i na http://developer.apple.com/iPhone ... preglej si sledece dokumente pod topics (predlagam da kar v tem vrstnem redu) 1) The Objective-C 2.0 Programming Language 2) Cocoa Fundamentals Guide 3) iPhone OS Programming Guide ko zaobvladas te topice (so kar obsezni a super spisani) se lahko lotis se nekaterih bolj specificnih in advanced topicov kot so 4) View Controller Programming Guide for iPhone OS 5) Table View Programming Guide for iPhone OS 6) Quartz 2D Programming Guide 7) Core Animation Programming Guide ... Na istem sajtu so tudi sempl app-i, katere lahko pregledas, a jih jaz od zacetka odsvetujem, mene so dosti zmedli. Ko sem nekako zaobvladal osnove Cocoa-e in iPhone developmenta so mi vsi te sempli postali jasni, prej pa sam WTF!! Obstajajo pa tudi Cocoa forumi, recimo en dober resource je klele: http://cocoadevcentral.com/ Lahko pa se admina kle nahecamo ce nam odpre development sekcijo na forumu, skodit ne more lp |
|||||||||
Ce izpisujes z UILabel-om potem velikost, tip in stil fonta dolocas takole:
Vse te propertije, metode in konstante lahko poisces v dokumentaciji, ki pride zraven XCODE-a. Dober tip: ko si v code editorju klikni alt-option + double klik na recimo UILabel pa ti odpre dokumentacijo od tega. lp |
|||||||||
Krasno se bom malo poglobil v tole. Čeprav za kreiranje labelov in vsega je najbrž najbolje uporabiti kar editor namenjen temu ne? S tem sem jaz trenutno nastavil in fonte in vse. Kam se potem te nastavitve narejene v interface builderju shranijo? Na zečtku sem dal file -> Write Class Files in dobil potrebne datoteke. Ampak, ko nekaj uredim (recimo barvo fonta) kam ta stvarca potem to spravi?
Bom malo bolj natančno pogledal tisto dokumentacijo od Appla čeprav kolikor sem gledal je bolj zapleteno kot raketna znanost Čudi me, da je applov sistem tako zmogljiv in prijazen uporabniku, programerju pa malo manj. No ja bom malo pogledal stvari pa bo. Mi je pa stvar že malo bolj jasna kot takrat, ko sem prvič videl tole. Sicer pa moj namen je potem bolj programiranje kake igre za ipod touch in iphone. Ampak to bomo pustili za nekaj časa. Preden bi se lotil česa bolj resno si bom sigurno moral nabavit ipod Touch, da ne omenjam plaačevanja mastnih denarcev Applu. Čerpav ne vem kako hitro bi jih dobil nazaj. |
|||||||||
Vse GUI nastavitve se zapisejo v XIB file ki ga imas pod resources. Write Class file je nekaj drugega. Kot receno najprej si preglej tiste dokumente na ADC-ju, tam imas tudi basic cocoa tutoriale ki ti bojo ful pomagali. Isto si oglej na cocoadevcentral linku, kjer imas basic cocoa tutorial. startaj tukaj.
Tole te verjetno najbolj jebe ker Cocoa in pa Objective-C sta pa striktno objektno naravnana iz vseh mogocih pogledov.
Programerju je zadeva kar precej prijazna, sam kot sem rekel zadeva je drugacna. Enkrat ko zastekas Cocoa-o in njihove core tehnologije kot so CoreImage, CoreAnimation, Quartz in QuickTime lahko na macu razvijas veliko bolj efektivno kot na PCju. Tudi sam se prisel iz PC sveta kot developer in sem se lovil z macom in programiranjem... ampak ko enkrat zacnes dihat z temi frameworki, potem sele vidis kok bolj napredni so. |
|||||||||
Verjetno ja! Čeprav malo je že hudičeva beseda - moral bi reči praktično nič. Kolikor se objektivenga programiranja tilče - največ sem o njem slišal v enem od videov za Visual basic kjer je bilo rečeno, da si to lahko predstavljamo kot neki objekt - avto in ta ima potem lahko različne lastnosti (barvo,hitrost...). Vsaj toliko se spominjam. No ja si bom pogledal dokumentacijo pa bomo videli kaj bo nastalo iz tega. |
|||||||||
Ce nimas izkusenj iz OOP te bo kar jebalo. Probaj vseeno, ampak bi ti prej predlagal da si pogledas se kak OOP guide, toliko da vsaj osnove OOP-ja dobis.
|
|||||||||
Se mi je kar zdelo, da bo potrebno kaj takega. Slučajno poznaš kaj pametnega?
Drugače pa je meni zelo všeč takle način programiranja: -> Vhod v program -> Uporabnik izbere eno od možnosti -> Z if stavkom požene neko funkcijo in ji posreduje potrebne podatke -> Tista funkcija se zažene in, da uporabniku nove možnosti ali izvede potrebno -> ponovno se potem kličejo podfunkcije, ki poskrbijo za tiste ostale možnosti... Kolikor gledam je objektno programiranje precej drugačno. EDIT: No ja včeraj sem se spet malo igračkal z tem. Ko sem imel dovolj tiste dooolgočasne dokumentacije sem odprl xcode in se malo igračkal (hvala za nastvet glede CMD+ALT) in mi je stvar sicer malo bolj jasna. Malo sem gledal kako bi skril tipkovnico pa mi ni ratalo ampak menda bom že pogruntal. |
|||||||||
No ja zaradi tega igračkanja bi zdajle najraje vrgel tega k*** čez okno. Zakaj mi z imetexftifelda.text ne pusti izpisat številke. Točneje v labelu imam neki string v textfield pa hočem izpisati njegovo dolžino z [imestringa lenght]. In kaj mi ta k*** vrže - Warning: Passing argument 1 of 'SetText:' makes pointer from integer without cast.
PA sem mislil, da je C++ glup! Najraje bi zbombardiral Apple zaradi gnile dokumentacije. Ne morejo napisat nekaj takega bolj podobnega vodiču, ki predstavi osnove jezika ampak neko zmešnjavo, ki ni ničemur podobna. No ja grem naprej brat |
|||||||||
Je kdo že probal razvijati in testirati svoje iPhone aplikacije na samem iPhonu in ne v simulatorju. Skrbi me kaj se bo zgodilo z mojim jailbreakanim in odklenjenim firmwarom.
|
|||||||||
To je pomojem zato, ker length vrne int vrednost in ne String... probaj mogoce NSMutableString withString [textfield length] |
|||||||||
Jaz... |
|||||||||
Kaj če bi edn od vas nekje zbrskal source od Stocks in ga predelal za parsanje podatkov z delo.si ali ljse.si?
|
|||||||||
NSMutableString withString [textfield length]
Kako naj bi to uporabil? Če tako kakor je napisano potem ne - se program ne zažene. Recimo, da hočem izpisat v textbox nek rezultat 5+5. Torej kako lahko to naredim, da mi stvar nebi težila? ali pa hočem izpisati "Rezulat 5+5="5+5 Ali pa recimo, če hočem nek integer imeti nekje. Torej, če dam int *tralala =10; mi bo napisal tole: Warning initalization makes pointer form integer without a cast! Kaj naj bi ro sploh pomenilo? |
|||||||||
Ce hoces izpisati nekaj v label/textField whatever moras najprej narediti string
potem pa to spremenljivko zapisati v label
V primeru z length lahko naredis nekaj takega:
|
|||||||||
Ok eno totalno noob vprašanje.
Če je že komu ratalo oz. kako se odpre že nameščen app na iPhonu To mislim z recimo xcode... ker meni je enostavno ne rata oz. ne vem kako..., da mi sicer možnost da odprem z xcode vendar ostane vse mrtvo.... hvala |
|||||||||
| « Poglej prejšnjo temo - Razvoj programske opreme - Poglej naslednjo temo » | Pojdi na stran Prejšnja 1, 2, 3, 4 Naslednja |
Gostovanje: 3fs.si |
Vsa vsebina spletne strani je last Jabuk.si in njegovih članov. © 2004 - 2020 Jabuk.si |
Kontakt Domov Na vrh strani |