#024 Cheddar: Quellen und Pfade
(65:35 Minuten)
Die neuen Themen in dieser Folge:
Relevante Links zu den Themen in der Sendung:
Ihr bekommt den Quellcode zu dieser Folge in unserem SVN-Repository direkt aus Xcode heraus unter "releases/episode_024", oder am Terminal mit:
svn checkout https://cheddar1.svn.sourceforge.net/svnroot/cheddar1/releases/episode_024
Kommentar hinzufügen
4. Fabian am 23. Aug 2010, 04:43 Uhr
Suuper Podcast! Macht Spaß zu lernen!
Ich hab grad 2 Stunden nach einem Fehler gesucht und wollte meine Lösung allen anderen zur Verfügung stellen.
PROBLEM: Man kann keine sourcePaths anlegen. Es wird einfach nichts gespeichert, obwohl auch der Vergleich mit dem SVN keine gravierenden Unterschiede bringt.
LÖSUNG: "Alte" Einstellungen, die VOR Folge 24 erstellt wurden, enthalten kein sourcePath-Array. Da sie aber bereits vorhanden sind, werden sie nicht mit einem leeren Array initialisiert. [self setupInstanceVariables] innerhalb initWithCoder einzufügen bringt auch nichts, weil beim Entpacken der Einstellungen alles überschrieben wird.
Einstellungen, die man grad neu erstellt hat, gehen problemlos. Die Lösung wäre also auch auch gewesen, einfach alle Einstellungen zu löschen und neue zu erstellen. Aaaaber: Wer kann das ahnen?
SO GEHT ES:
Nach dem Entpacken des SyncItems muss man überprüfen, ob sourcePaths NULL ist. Dann muss ein leeres Array erstellt werden (NULL und ein leeres Array sind unterschiedlich). Blöderweise meckert das Programm nicht, wenn man einen SourcePath hinzufügen will, wenn kein Array vorhanden ist. Das (nicht vorhandene) Array speichert einfach nichts. Seeehr komisch. Wie gesagt: 2 Stunden Sucherei...
In SyncItems.m -> initWithCoder
...
self.sourcePaths = [aDecoder decodeObjectForKey:@"sourcePaths"];
if (self.sourcePaths == NULL) {
self.sourcePaths = [NSMutableArray array];
}
...
Sehr praktisch bei meiner Suche war übrigens die Funktion NSLog. Damit lassen sich während des Ablaufs Variablen in die Konsole (Debug View) ausgeben.
NSLog(@"syncItem:initWithCoder: sourcePaths: %@",self.sourcePaths);
Suuper Podcast! Macht Spaß zu lernen!
Ich hab grad 2 Stunden nach einem Fehler gesucht und wollte meine Lösung allen anderen zur Verfügung stellen.
PROBLEM: Man kann keine sourcePaths anlegen. Es wird einfach nichts gespeichert, obwohl auch der Vergleich mit dem SVN keine gravierenden Unterschiede bringt.
LÖSUNG: "Alte" Einstellungen, die VOR Folge 24 erstellt wurden, enthalten kein sourcePath-Array. Da sie aber bereits vorhanden sind, werden sie nicht mit einem leeren Array initialisiert. [self setupInstanceVariables] innerhalb initWithCoder einzufügen bringt auch nichts, weil beim Entpacken der Einstellungen alles überschrieben wird.
Einstellungen, die man grad neu erstellt hat, gehen problemlos. Die Lösung wäre also auch auch gewesen, einfach alle Einstellungen zu löschen und neue zu erstellen. Aaaaber: Wer kann das ahnen?
SO GEHT ES:
Nach dem Entpacken des SyncItems muss man überprüfen, ob sourcePaths NULL ist. Dann muss ein leeres Array erstellt werden (NULL und ein leeres Array sind unterschiedlich). Blöderweise meckert das Programm nicht, wenn man einen SourcePath hinzufügen will, wenn kein Array vorhanden ist. Das (nicht vorhandene) Array speichert einfach nichts. Seeehr komisch. Wie gesagt: 2 Stunden Sucherei...
In SyncItems.m -> initWithCoder
...
self.sourcePaths = [aDecoder decodeObjectForKey:@"sourcePaths"];
if (self.sourcePaths == NULL) {
self.sourcePaths = [NSMutableArray array];
}
...
Sehr praktisch bei meiner Suche war übrigens die Funktion NSLog. Damit lassen sich während des Ablaufs Variablen in die Konsole (Debug View) ausgeben.
NSLog(@"syncItem:initWithCoder: sourcePaths: %@",self.sourcePaths);
3. ingo am 7. Jan 2010, 09:36 Uhr
@Lailo: Danke! ;)
@sams:
Das Aufrufen als sogenanntes "Sheet" unterscheidet sich in 10.6 erheblich von der API in 10.5 oder früher. Wir werden darauf in einer gesonderten Folge eingehen!
@Lailo: Danke! ;)
@sams:
Das Aufrufen als sogenanntes "Sheet" unterscheidet sich in 10.6 erheblich von der API in 10.5 oder früher. Wir werden darauf in einer gesonderten Folge eingehen!
2. Lailo am 7. Jan 2010, 00:48 Uhr
Ich finde diese Sache von euch einfach genial. Ich habe es schon mit vielen Büchern probiert diese Sprache zu lernen wobei es mir misslungen ist.
Mach weiter so Ich kann es kaum erwarten mehr von euch zu sehen/hören.
Vielen Dank für dieses Angebot.
Ich finde diese Sache von euch einfach genial. Ich habe es schon mit vielen Büchern probiert diese Sprache zu lernen wobei es mir misslungen ist.
Mach weiter so Ich kann es kaum erwarten mehr von euch zu sehen/hören.
Vielen Dank für dieses Angebot.
1. sams am 4. Jan 2010, 17:35 Uhr
Hi, Leute...
Super Podcast!! Aber ich bin leider Gewohnt, dass dieses OpenPanel aus der Leiste herausgefahren kommt??? Trotzdem Klasse :)
Hi, Leute...
Super Podcast!! Aber ich bin leider Gewohnt, dass dieses OpenPanel aus der Leiste herausgefahren kommt??? Trotzdem Klasse :)
http://www.mac-talk.eu/entwickler/71-videotutorials-zu-objective-c.html