Cocoa Twitter Client

Nachdem ich den letzten Monate immer wieder im Buch „Cocoa Programming for Mac OS X“ von Aaron Hillegass gelesen habe, habe ich meinen ersten richtigen Versuch gestartet. Und was könnte besser sein als ein Twitter Client. Ich muss zugeben es gibt davon schier unendlich, allerdings ging es mir nicht um den Sinn der Software sondern eher um den Lernfaktor.

Die Anforderungen an einen simplen Twitter Client sind relativ gering. Tweets lesen und Tweets speichern. Das sollte erstmal an Funktionen reichen. Natürlich muss eine kleine Benutzerverwaltung implementiert werden und hier und da einige Kleinigkeiten.

Ich habe das Programm wie folgt aufgeteilt:

 

AppController: handelt die Interkation mit dem Benutzer, Öffnet die entsprechenden Sheets und erledigt das anzeigen der Tweets + Aufruf der Twitter API

AccountWindowController: simple one-User-„Benutzerverwaltung“

PostWindowController: Sheet für das hinzufügen von Tweets + Aufruf der Twitter API

Tweet : Das „Model“ für einen Tweet

ImageAndTextCell: fertige Klasse von Apple die in einer TableView Text & Bild realisiert.

Das Ergebnis sieht nicht Perfekt aus aber schon recht ansehnlich:

Twittacoholic Main View

Hinzufügen von Tweets:

Add a tweet

Download der Projekt Datei und Sourcecode

Folgendes Problem, welches ich noch nicht im Griff bekommen habe, ist die maximal Anzahl der Zeichen beim Tweet posten. Hier habe ich folgendes implementiert:

#pragma mark NSTextField delegate
- (void)controlTextDidChange:(NSNotification *)aNotification
{
	int strln;
	strln = 140 - [[text stringValue] length];
	if(strln <= 0) {
 
		[text abortEditing];
	}
	NSString *newString = [NSString stringWithFormat:@"%d",strln];
	[characters setStringValue:newString];
}

Nach 140 Zeichen springt der User zwar auf der Form raus, kann aber immer noch Zeichen hinzufügen (wobei er bei jedem Zeichen immer rausfliegt). Das Input Feld sperren kann ich ja auch nicht nach 140 Zeichen, dann könnte der Benutzer nichts mehr ändern. Steh hier etwas auf dem Schlauch :-O.

1 Comment

wulfovitchOktober 18th, 2009 at 9:39 pm

witzig, mein twitter client zum testen, den ich nach dem lesen des hillegass geschrieben hatte, sah fast genauso aus 😀

Leave a comment

Your comment