Aika vähän ollut keskustelua iPhonelle ohjelmoinnista. Onko innostuneita harrastajia tai jopa ammattilaisia? Ajattelin että tämä voisi toimia sekalaisten kysymyksien areenana ja ehkä jopa auttaa alkuun samoissa ongelmissa painivia alottelijoita.
Itse olen nyt tyssännyt kokonaisnäkemyksen puutteeseen koskien Xcodea ja Interface Builderia (lyh. IB). Jos luon IB:ssä UIView lapsiluokan, piirretään tämä automaattisesti ohjelman käynnistyttyessä vaikka en olisi siitä koodissa oliota luonutkaan - eli IB huolehtii automaattisesti olioiden luomisesta määritellyistä luokista. Tai siis itseasiassa olioitahan IB:ssä taidetaankin suoraan luoda ja piirrellä. Mutta missä nämä tarkemmin määritellään, ja eritoten - miten ja millä pystyn viittaamaan näihin olioihin, esim lähettämään viestin ["IBnLuomaView" backgroundColor:[UIColor redColor]]. Ongelma on se, että en tiedä miten viittaisin IB:n automaattisesti luomiin olioihin. Hjelp...
iPhone Objective-C -ohjelmointi
Xcode, Mac OS X Server sekä muuta hauskaa ja hyödyllistä
3 viestiä
• Sivu 1/1
-
- Viestit: 1663
- Liittynyt: 16.5.2006 klo 23.09
- Paikkakunta: Lappeenranta
iPhone Objective-C -ohjelmointi
Viesti Kirjoittaja honpsu »
MacBook (Late 2008 AluUnibody, 2GHz C2D / 8GB / 128GiB SSD & 160GiB 7200rpm, 10.8)
iPhone 4 32Gb
iPhone 4 32Gb
-
- Viestit: 540
- Liittynyt: 20.1.2008 klo 10.48
Re: iPhone Objective-C -ohjelmointi
Viesti Kirjoittaja mike.mcfin »
Tämä tapahtuu outletilla. Eli lisäät outletin luokkaan josta haluat päästä käsiksi IB:ssä tehtyyn objektiin.honpsu kirjoitti: Tai siis itseasiassa olioitahan IB:ssä taidetaankin suoraan luoda ja piirrellä. Mutta missä nämä tarkemmin määritellään, ja eritoten - miten ja millä pystyn viittaamaan näihin olioihin, esim lähettämään viestin ["IBnLuomaView" backgroundColor:[UIColor redColor]]. Ongelma on se, että en tiedä miten viittaisin IB:n automaattisesti luomiin olioihin. Hjelp...
Esimerkiksi:
@interface AppDelegate : NSObject <UIApplicationDelegate, UIScrollViewDelegate, UIPickerViewDataSource> {
IBOutlet UIView *theNumpad;
}
Tämän jälkeen täytyy koodi kääntää (eli build & run) jonka jälkeen IB:ssä näkyy nyt AppDelegate-luokassa outlet nimeltä theNumpad. Nyt vedät control-pohjassa AppDelegate-luokasta UIView-objektin päälle kytköksen ja kun vapautat valitse että tämä on theNumpad. Tämän jälkeen koodissa viittaat theNumpadilla ko. olioon.
Jos nib on viewControllerin omistama niin isäntäobjektin proxynä esiintyy FileOwner. Eli sen alta löytyy ko. objektin outletit ja actionit. Voit tehdä outletin myös IB:ssä inspektorin viimeisellä lehdykällä mutta tällöin ko. luokka pitää kirjoittaa uudelleen tiedostoksi (write class files).
Outletin tyyppi voi olla pelkkä id jolloin mikä tahansa objekti kelpaa mutta tällöin codecompilation ei tiedä mistä on kyse eikä ehdottele oikeita metodeita. Siksi on mielestäni parempi määritellä outletin tyyppi explisiittisesti.
Cocoa touch suosii objective C 2.0:n propertyjen käyttöä. Eli tässä tapauksessa theNumpadista kannattaa tehdä luokan property.
@property (nonatomic, retain) UIView* theNumpad;
Ja implementtiin: @synthesize theNumpad;
joka tekee accessor-metodit automaattisesti.
Nyt voit viitata theNumpad.ominaisuus .... jos hakasulut vierastavat

-
- Viestit: 3954
- Liittynyt: 1.11.2007 klo 18.54
Re: iPhone Objective-C -ohjelmointi
Viesti Kirjoittaja Pikkuroope »
Nostellaans vähän ku google löysi tämän
onko porukkaa tullut enemmän tämän aiheen ympärille?
Kertokaas joku hyvä guide pomppaamiseen mac os x koodaamisesta iphonelle tekemiseen.![Neutraali [:|]](./images/smilies/icon_neutral.gif)

Kertokaas joku hyvä guide pomppaamiseen mac os x koodaamisesta iphonelle tekemiseen.
![Neutraali [:|]](./images/smilies/icon_neutral.gif)
"Hintaneuvos on salamannopea, mutta pikkuroope vielä nopeampi."
— mylman
! Myydään DJI Phantom 3 Advanced: http://hopeinenomena.net/viewtopic.php?f=88&t=250353 !
— mylman
! Myydään DJI Phantom 3 Advanced: http://hopeinenomena.net/viewtopic.php?f=88&t=250353 !
3 viestiä
• Sivu 1/1
Palaa sivulle “Ohjelmointi, skriptit ja palvelimet”
Hyppää
- Yleiset aiheet
- ↳ Ajankohtaista Apple-maailmasta
- ↳ Käyttöjärjestelmät
- ↳ Ohjelmat
- ↳ Yleiskeskustelu
- Mac ja oheislaitteet
- ↳ Yleiskeskustelu laitteista
- ↳ MacBook, MacBook Pro ja MacBook Air
- ↳ iMac
- ↳ Mac mini
- ↳ Mac Pro ja Mac Studio
- ↳ Ongelmia Macin kanssa?
- iPhone, iPad ja Apple Watch
- ↳ iPhone-, iPad- ja Apple Watch -laitekeskustelu
- ↳ iPhone-, iPad- ja Apple Watch -ohjelmat sekä iOS
- ↳ Ongelmia iPhonen, iPadin tai Apple Watchin kanssa?
- Huviksi ja hyödyksi
- ↳ Off-topic
- ↳ Kuva ja graafinen suunnittelu
- ↳ Audio ja musiikki
- ↳ Video, televisio ja elokuvat
- ↳ Pelit ja pelaaminen
- ↳ Ohjelmointi, skriptit ja palvelimet
- ↳ Tietoturva ja varmuuskopiointi
- ↳ Verkot, mobiilidata ja muut puhelimet
- ↳ Retronurkka
- ↳ Foorumin ylläpito
- Kauppapaikka
- ↳ Myydään Mac
- ↳ Myydään iPhone, iPad ja iPod
- ↳ Myydään muut Applen tuotteet
- ↳ Myydään muuta tietotekniikkaa
- ↳ Ostetaan Mac
- ↳ Ostetaan iPhone, iPad ja iPod
- ↳ Ostetaan muut Applen tuotteet
- ↳ Ostetaan muuta tietotekniikkaa
- ↳ Vaihdetaan, annetaan, työtä haetaan ja tarjotaan
- ↳ Kauppapaikan keskustelu ja hintavinkit