Objective-C leren

Hallo OMT'ers,

Sinds het begin van de vakantie ben ik me een beetje gaan verdiepen in de wereld van het iPhone SDK. Het ziet er allemaal leuk uit om de vakantie aan te besteden :P. Op internet heb ik wat tutorials opgezocht, het vervelende daarvan is dat je niks kan vragen als je het niet snapt. Op dit moment kom ik qua code niet verder dan dat als ik op een button druk er een tekst in een label komt te staan. Ik vind objective c moeilijk om te begrijpen, vooral als je op school veel in java hebt moeten doen. Dus ik vroeg me af of er iemand is die het mee een beetje kan uitleggen en leren?

Ik ben er zelf ook aan begonnen. Als ik een vraag had stelde ik hem hier :) (ik leer het via een boek)

in itunes U is er een gratis lessenreeks beschikbaar van Stanford U.

[url]http://deimos3.apple.com/WebObjects/Core.woa/Browse/itunes.stanford.edu.2024353965.02024353968[/url] Link naar Stanford U in iTunes :wink:

Ik heb persoonlijk meer aan een goed boek. Het standaard werk over Objective-C programmeren is "Programming in Objective-C 2.0 (2nd Edition)" van Stephen Kochan: http://www.amazon.com/Programming-Objective-C-2-0-Developers-Library/dp/0321566157/ref=sr_1_1?ie=UTF8&s=books&qid=1247214562&sr=1-1

Je mag zelf bepalen of je meer vastloopt in Objective-C, de programmeertaal, of in Cocoa, het applicatieframework dat je voor iPone ontwikkeling dient te gebruiken. In het laatste geval is natuurlijk een Cocoa boek aan te raden. :wink:

Overigens, Objective-C lijkt meer op Smalltalk dan op C, terwijl Java meer afgeleid is van C++ en C. Dus om de denkwijze achter Objective-C te begrijpen, is een inleiding in Smalltalk lezen misschien aan te raden:
http://www.cosc.canterbury.ac.nz/wolfgang.kreutzer/cosc205/smalltalk1.html
http://stephane.ducasse.free.fr/FreeBooks/HopkinsHoran/HopkinsHoran.pdf

Niet erg praktisch, maar wel leuk als achtergrondmateriaal, is onderstaand boek. Daarin komt naar voren waarom al die mensen toch continu nieuwe programmeertalen blijven verzinnen. “Masterminds of Programming”:
http://www.amazon.com/Masterminds-Programming-Conversations-Creators-Languages/dp/0596515170/ref=sr_1_1?ie=UTF8&s=books&qid=1247214122&sr=8-1

Meer interessant achtergrondmateriaal is te vinden op de website van Brad Cox: http://www.virtualschool.edu/objectivec/ http://virtualschool.edu/cox/pub/

[img:2c5985b889]http://ecx.images-amazon.com/images/I/51%2BH6XVgf3L.SL500_AA240.jpg[/img:2c5985b889]

[quote:ade7529c1b="Yost"]Overigens, Objective-C lijkt meer op Smalltalk dan op C, terwijl Java meer afgeleid is van C++ en C. [/quote:ade7529c1b]

Hmm, blijkbaar heb ik het bovenstaande niet goed. Zie:
http://www.virtualschool.edu/objectivec/influenceOnJava.html

Van de week eens kijken wat ze in de bieb hebben liggen. Die standford lessen zien er wel veel belovend uit. Wat ik had bij andere tutorial filmpjes was bijvoorbeeld dat de beste man typte @synthesize en dan nog ergens nonatomic , en dan denk ik van allemaal leuk en aardig, maar wat doet dit precies. Dit leggen ze dan weer niet uit. Weet iemand wat het beste is om in onderstaand voorbeeld te gebruiken? want het schijnt beide te kunnen. [testLabel setText:@"hoi"] of testLabel.text = @"hoi"

De eerste. Daar gebruik je een message om het attribuut van je object te manipuleren. In het tweede voorbeeld zet je de waarde van het attribuut direct. Dat kan wel, maar da's OO-filosofisch niet zo mooi. De interne toestand van een object, de waarden van z'n attributen, hoort niet direct gemanipuleerd te worden. Het feit dat het tweede kan, betekent dat het attribuut niet private is gedeclareerd, wat eigenlijk jammer is.

Ok ik moet je tekst even op me laten inwerken :P terwijl ik een les van stanford aan het kijken ben.

[quote:193db21137="Josh_b"][testLabel setText:@"hoi"] of testLabel.text = @"hoi"[/quote:193db21137] Ze zijn allebei goed, maar die tweede werkt alleen maar in ObjC 2.0.

Dit deel van obj C kwam toevallig net voorbij in de video van stanford. Maar ik blijf het allemaal ingewikkeld vinden, misschien is een boek toch makkelijker. Alleen heeft die rot bieb hier boeken over super veel programmeer talen, behalve ObjC. En op dit moment ben ik ongeveer failliet :( dus een boek kopen zit er op dit moment nog niet in.

[quote:4fbaf448ac="Josh_b"] dus een boek kopen zit er op dit moment nog niet in.[/quote:4fbaf448ac] Dan begin je met [url=http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/ObjC.pdf]deze[/url]. Wel een beetje droge stof, dus houd een biertje bij de hand... :lol:

OEPS: Ik zie dat je 17 bent.
…dus houd een colaatje bij de hand… :lol:

Uh we leven niet in Amerika waar je 21 moet zijn :P Hier mag dat gewoon vanaf 16, maar ik zal het pdfje eens door gaan nemen.

Pff zo'n boek als Yost aanraad is wel duur in Nederland. [url=http://www.bol.com/nl/p/boeken-engels/programming-in-objective-c-2-0/1001004006275760/index.html]Deze[/url] kost hier €40. Dat gaat ook wel wat ver. Ik ga als ik op vakantie ben in New York, daar wel even in wat winkels rondkijken. Dat moet toch goedkoper zijn dan hier.

[quote:e9e990c126="Josh_b"]Pff zo'n boek als Yost aanraad is wel duur in Nederland. [url=http://www.bol.com/nl/p/boeken-engels/programming-in-objective-c-2-0/1001004006275760/index.html]Deze[/url] kost hier €40. Dat gaat ook wel wat ver. Ik ga als ik op vakantie ben in New York, daar wel even in wat winkels rondkijken. Dat moet toch goedkoper zijn dan hier.[/quote:e9e990c126]

Sorry. Bestellen bij amazon.com en de oceaan over laten zwemmen is overigens ook veel goedkoper dan in Nederland bestellen. Ik bestel Engelstalige boeken nooit in Nederland. :wink:

Ik neem aan dat je de documentatie op http://developer.apple.com al weet te vinden? Daar is ook gratis info te vinden over Objective-C, Cocoa en iPhone ontwikkeling… Oh, Pieterrr postte ook al een link.

[quote:481f7188cb="Josh_b"]Alleen heeft die rot bieb hier boeken over super veel programmeer talen, behalve ObjC.[/quote:481f7188cb]

Haal dan in ieder geval een boek over C in die bieb, want daar is ObjC een uitbreiding van. Een beetje basiskennis kan nooit geen kwaad. :wink:

Als je echt serieus met Objective C aan de slag wilt loont het de moeite om voor 30 dollar bij Amazon het boek van Kochan aan te schaffen dat Yost al genoemd heeft.

Verstuurt amazon dan ook naar Nederland?

Er zijn genoeg recente boeken te koop. In het geval van een beginnende programmeur in Xcode kan het zonder goede basis-kennis erg overweldigend zijn

Ga eerst bij jezelf na wat je wilt bereiken en welke leerstijl het beste bij jou past. Als beginner kun je gratis de ADC-site van Apple raadplegen. Hier kun je een aardige ondergrond leggen met BecomeAnXcode en Programming in Objective C 2,.0.

Als je een boek plezierig vind, raad ik je je licht op te steken bij:

  • Cocoa Programming for Dummies,
  • meerdere titels op de website van Apress over C, Xcode en iPhone,
  • Cocoa Programming for Mac OSX 3rd Edition van Aaron Hillegas , boeken van Stephen Kochan (topboeken), Xcode 3 Unleashed, Sams.Programming.In.Objective-C. Maar dan wel een voor een, anders word je gek!

Als je voor de Iphone gaat ontwikkelen is de Stanford training in iTunes U een uitstekend uitgangspunt. Voor de meer ambitieuze projecten die bij iPhone OS 3.0 al snel aan de orde kunnen zijn, heb je meer achtergrondinformatie nodig. Dan geldt kennis van Xcode als een goede ondersteuning. Specifiek voor de iPhone zijn er ook al een aantal boeken beschikbar (The iPhone Developer’s Cookbook, The iPhone Cookbook en ook een boek van Apress).

Begin met een eenvoudig, stapsgewijs project wat je later eventueel nog kunt uitbreiden. Je leert elke dag nieuwe dingen waardoor je langzaam maar zeker een redelijke basis opbouwt. Al doende krijg je Xcode en Interface Builder het snelste onder de knie krijgen. Dit forum kan je altijd uit de brand helpen. Let er wel op dat het vakantietijd is, en dan doen we vaak andere dingen. Heel veel succes toegewenst.