#021 Cheddar: Drag and Drop
(53:09 Minuten)
Ihr benötigt in dieser Folge nahezu das gesammelte Wissen aus unseren bisherigen Folgen. Schaut euch im Zweifelsfall mindestens die unten aufgeführten Links an!
Solltet ihr das Projekt unter 10.5 nachprogrammieren: Denkt weiterhin bitte daran, dass einige Protokolleangaben nicht funktionieren und Apple in 10.6 einige Datentypen bei den Methoden ausgetauscht hat; hauptsächlich int gegen NSInteger! Wenn ihr das beachtet, bzw. entsprechend modifiziert, dann wird alles laufen!
Wenn ihr diese Revision zukünftig aus dem SVN-Repository auschecken wollt, dann könnt ihr im Terminal folgenden Befehl eingeben:
Links zu dieser Folge:
Kommentar hinzufügen
7. am 7. Dec 2009, 00:17 Uhr
Kleiner Tipp für die englische Aussprache:
Archive wird nicht "Artschief" ausgesprochen, sondern "Arkeif" ;)
Aber das ist wohl Meckern auf hohem Niveau ;)
Ansonsten natürlich wieder Lob für diese Folge. Drag & Drop wurde sehr gut vermittelt.
Kleiner Tipp für die englische Aussprache:
Archive wird nicht "Artschief" ausgesprochen, sondern "Arkeif" ;)
Aber das ist wohl Meckern auf hohem Niveau ;)
Ansonsten natürlich wieder Lob für diese Folge. Drag & Drop wurde sehr gut vermittelt.
6. Unbedeutender Kommentator am 6. Dec 2009, 22:08 Uhr
@ingo
Nein, die Methoden haben sich bereits in 10.5 geändert. Cocoa ist seit 10.5 auch in 64 Bit verfügbar.
Übrigens, schon mal im Interface Builder mit gedrückter Shift- und Ctrl-Taste auf ein UI-Element geklickt? ;)
@ingo
Nein, die Methoden haben sich bereits in 10.5 geändert. Cocoa ist seit 10.5 auch in 64 Bit verfügbar.
Übrigens, schon mal im Interface Builder mit gedrückter Shift- und Ctrl-Taste auf ein UI-Element geklickt? ;)
5. McPringle am 6. Dec 2009, 17:45 Uhr
Kleiner Bug in der neuen Version: Erstellt mal einige SyncItems, z.B. 10 und markiert davon drei, die ihr ziemlich an den Anfang verschiebt. Dann auf "Löschen" klicken: Plötzlich sind drei andere SyncItems markiert, die nun an deren Stelle sind. Korrekter Weise müsste nach dem Löschen die Markierung aufgehoben werden. Dazu die Methode "pushRemoveSyncItem" einfach um folgenden Befehl ergänzen:
[syncItemTable selectRowIndexes:nil byExtendingSelection:NO];
Zumindest würde ich als Anwender dieses Verhalten erwarten. Sonst war es auch diesmal wieder – bis auf ein paar Versprecher – eine tolle Folge! Wenn ich am Sonntag Nachmittag plötzlich verschwinde, meint meine Frau jetzt nur noch: "Kuckst du schon wieder null null?" ;)
McPringle
Kleiner Bug in der neuen Version: Erstellt mal einige SyncItems, z.B. 10 und markiert davon drei, die ihr ziemlich an den Anfang verschiebt. Dann auf "Löschen" klicken: Plötzlich sind drei andere SyncItems markiert, die nun an deren Stelle sind. Korrekter Weise müsste nach dem Löschen die Markierung aufgehoben werden. Dazu die Methode "pushRemoveSyncItem" einfach um folgenden Befehl ergänzen:
[syncItemTable selectRowIndexes:nil byExtendingSelection:NO];
Zumindest würde ich als Anwender dieses Verhalten erwarten. Sonst war es auch diesmal wieder – bis auf ein paar Versprecher – eine tolle Folge! Wenn ich am Sonntag Nachmittag plötzlich verschwinde, meint meine Frau jetzt nur noch: "Kuckst du schon wieder null null?" ;)
McPringle
4. ingo am 6. Dec 2009, 17:41 Uhr
Richtig, der Datentyp wurde schon eher eingeführt.
In 10.6 ändern sich dadurch jedoch noch Methoden, die vorher int benutzt haben, z.b. die TableViewDatasource Delegate-Methoden.
Richtig, der Datentyp wurde schon eher eingeführt.
In 10.6 ändern sich dadurch jedoch noch Methoden, die vorher int benutzt haben, z.b. die TableViewDatasource Delegate-Methoden.
3. Unbedeutender Kommentator am 6. Dec 2009, 17:33 Uhr
NSInteger wurde bereits mit 10.5 eingeführt. Daher braucht man das unter 10.5 nicht ändern.
NSInteger wurde bereits mit 10.5 eingeführt. Daher braucht man das unter 10.5 nicht ändern.
2. peter am 6. Dec 2009, 16:21 Uhr
@spTim:
Du kannst das auch über eine Konstante lösen - es spricht nichts dagegen. Ich persönlich nutze das #define aus banalem Grunde lieber: Durch Code-Highlighting erscheint das im Quellcode in einer anderen Farbe als normale Variablen/Konstanten ...
Peter
@spTim:
Du kannst das auch über eine Konstante lösen - es spricht nichts dagegen. Ich persönlich nutze das #define aus banalem Grunde lieber: Durch Code-Highlighting erscheint das im Quellcode in einer anderen Farbe als normale Variablen/Konstanten ...
Peter
1. spTim am 6. Dec 2009, 16:02 Uhr
Hi,
wieso benutzt Ihr für euren SyncItemTableViewDataType nicht ein
NSString* const SyncItemTableViewDataType=@"de.0x02100.cheddar.SyncItemTableViewDataType";
statt des
#define SyncItemTableViewDataType @"de.0x02100.cheddar.SyncItemTableViewDataType"
. BTW: das was man mit #define definiert nennt man macro bzw. preprocessor macro.
Gruesse aus Berlin,
spTim
Hi,
wieso benutzt Ihr für euren SyncItemTableViewDataType nicht ein
NSString* const SyncItemTableViewDataType=@"de.0x02100.cheddar.SyncItemTableViewDataType";
statt des
#define SyncItemTableViewDataType @"de.0x02100.cheddar.SyncItemTableViewDataType"
. BTW: das was man mit #define definiert nennt man macro bzw. preprocessor macro.
Gruesse aus Berlin,
spTim
http://www.mac-talk.eu/entwickler/71-videotutorials-zu-objective-c.html