Toon posts:

[Cocoa] documentatie met voorbeelden?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben sinds een tijdje met Cocoa bezig op mijn PowerMac met OSX panther. Omdat ik in het verleden tevreden was met de .... voor Dummies serie. Echter Cocoa for Dummies is niet voldoende om daarna met behulp van (web-) voorbeelden verder te komen.
De doc van Apple wordt zonder voorbeelden geleverd, waardoor sommige simpele bewerkingen voor mij niet duidelijk zijn.

Kan iemand boeken / on-line tutorials aanbevelen die je echt zover op weg kunnen helpen dat je daarna met enkel de referentie guide verder kan? _/-\o_

PS: ik heb te weinig vrije dagen om de Cocoa cursus in Frankfurt (2-6 mei) te volgen :'(

Alvast bedankt voor jullie reacties!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Ik kom ladingen tutorials tegen voor Cocoa: http://www.google.nl/sear...nl&q=Tutorial+Cocoa&meta=

Het lijkt me sterk dat je daar niet mee uit de voeten kunt. Want mankeert er aan die tutorials?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Deze tutorials laten -net als Cocoa for Dummies- een paar leuke kleine applicaties zien. Ga je buiten die tutorials iets proberen, dan lijkt het weer net alsof je van de taal helemaal niks weet.

Ik heb al heel veel sources godownload, zeker ook sources waar van stukjes code uitleg staat. In dergelijke applicaties kom je om in complexiteit. Je moet 200 regels code doorploegen om die ene regel eruit te halen die je nodig hebt.

Wat ik eigenlijk zoek is een "help" of "reference guide" waar per NSobject afgeleide een voorbeeldje van enkele regels code staat.

Verwijderd

Heb je al eens gekeken bij de Apple sample code?
Ik zeg niet dat alles netjes met een voorbeeldje beschikbaar is, maar wat daar staat kan best leerrijk zijn :)

Verwijderd

Topicstarter
Dat zijn dus o.a. die voorbeelden die in veel te grote projecten zijn opgenomen en waar veel te weinig (achtergrond-) informate over de gebruikte Foundation Kit en App Kit in staan.

Ik ben echt op zoek naar iets niet zo voor de hand liggend. Ik denk dat ik mijn vraag inmiddels beter kan beperken tot papieren boeken.

PS: voor anderen die dezelfde vraag hebben hier nog een hele goede startpagina: http://www.stepwise.com. Hier vind je veel links naar andere sites. 1 van die links bevat echt duizende Cocoa apps met source code!

Zoals gezegd heb ik al uren (wat zeg ik? Dagen!) op deze pagina's zitten surfen, maar het is niet wat ik zoek. Er moet toch iets zijn die het gat opvult tussen het simpel volgen van voorbeeldjes en het doorgronden van de hele ref. guide?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Ja.. proberen, proberen, proberen en probreren. Die "kleinere" voorbeelden laten allemaal verschillenden dingen zien. Ga dit zelf combineren het het word vanzelf "groter". Een hele ref guide hoef je niet te doorgronden, hierin zoek je iets op op het moment dat je wat nodig hebt. Die kleinere voorbeelden laten zien hoe iets moet zodat je zelf in de gaten krijgen waar je ongeveer in de ref guide moet gaan zoeken.

Door daarna nog meer te gaan proberen en meer ervaring te krijgen ga je het zelf onthouden en heb je een ref. guide steeds minder nodig.

Om "grotere" applicaties op te gaan zetten is ook het 1 en ander aan docs te vinden alleen is dat vaka wat minder specifiek op 1 taal gericht.

[ Voor 26% gewijzigd door Creepy op 22-04-2005 16:59 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
OK, concreet voorbeeld, dan. Na het compleet doornemen en intikken van code uit Cocoa for Dummies, en enkele online tutorials en source code probeer ik het voldende:
Het doel is een plaatje met een File Open dialog op het scherm te zetten in een Image View. Ik neem als basis een opdracht uit een van de tutorials waarin ik hetzelfde deed voor een Quick Time filmpje:

#import "MyMovieController.h"

@implementation MyMovieController

- (IBAction)openMovie:(id)sender
{
	NSArray *theFileTypes = [NSArray arrayWithObjects:@"mov",@"mpeg",@"mpg", nil];
	NSOpenPanel *theOpenPanel = [NSOpenPanel openPanel];
	[theOpenPanel setAllowsMultipleSelection:NO];
	int result = [theOpenPanel runModalForTypes:theFileTypes];
	if (result==NSOKButton)
	{
		NSArray *theSelectedMovie = [theOpenPanel URLs];
		NSURL *theMovieURL = [theSelectedMovie objectAtIndex:0];
		NSMovie *theMovie = [[NSMovie alloc] initWithURL:theMovieURL byReference:NO];
		NSRect origFrame = [theWindow frame];
		NSPoint topLeft = origFrame.origin;
		topLeft.y = topLeft.y + origFrame.size.height;
		[movieScreen setMovie:theMovie];
		NSSize size = [movieScreen sizeForMagnification:1.0];
		size.width +=40;
		size.height +=40;
		[theWindow setContentSize:size];
		[theWindow setFrameTopLeftPoint:topLeft];
		[theWindow display];
	}
}

OK, simpel zat. Gewoon een image view erbij maken en dan de code enigzins aanpassen:
- (IBAction)openImage:(id)sender
{
	NSArray *theFileTypes = [NSArray arrayWithObjects:@"jpg",@"jpeg", nil];
	NSOpenPanel *theOpenPanel = [NSOpenPanel openPanel];
	[theOpenPanel setAllowsMultipleSelection:NO];
	int result = [theOpenPanel runModalForTypes:theFileTypes];
	if (result==NSOKButton)
	{
		NSArray *theSelectedImage = [theOpenPanel URLs];
		NSURL *theImageURL = [theSelectedImage objectAtIndex:0];
		NSImage *theImage = [[NSImage alloc] initWithURL:theImageURL byReference:NO];
		NSRect origFrame = [theWindow frame];
		NSPoint topLeft = origFrame.origin;
		topLeft.y = topLeft.y + origFrame.size.height;
		[imageScreen setImage:theImage];
		NSSize size = [imageScreen sizeForMagnification:1.0];
		size.width +=40;
		size.height +=40;
		[theWindow setContentSize:size];
		[theWindow setFrameTopLeftPoint:topLeft];
		[theWindow display];
	}
}
@end

Ik ben echt uren aan het debuggen geweest, maar ik kan niet uitvinden waarom het niet werkt. Dus ga ik de ref.doc van ImageView raadplegen. Bij ImageView kan ik alleen een NSImage gebruiken. Bij NSImage heb ik echter weer niet dezelfde methode als bij QT, dus verwacht ik dat ik een NSData moet gebruiken.

Maar hoe? |:(

Dit is slechts 1 voorbeeld van wat ik heb geprobeerd....
Pagina: 1