Warning: include_once(/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php): failed to open stream: No such file or directory in /var/www/html/fields/dbp09/local/config.php on line 4

Warning: include_once(): Failed opening '/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php' for inclusion (include_path='.:/opt/php/lib/php') in /var/www/html/fields/dbp09/local/config.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/fields/dbp09/local/config.php:4) in /var/www/html/pmwiki-2.2.86/pmwiki.php on line 1250
Datenbankpraktikum SS 2009 - Gruppe 1 - Iphone-EINL

Einleitung

Aufgabe war es, eine Frontend-Schnittstelle eines Massive Multiplayer Online Game für das iPhone zu entwickeln. Hürde hierbei war sich in die Programmierung für das iPhone, insbesondere in Objective C einzuarbeiten.

Programmstruktur

Um dem Model View Controller Design Konzept gerecht zu werden haben wir das Programm im wesentlichen in drei Komponenten unterteilt:

  1. Die View Komponente vertreten durch Subklassen von UIView und UIViewController repräsentiert die direkte Schnittstelle zum Benutzer.
  2. Die Klassen DataController, XMLNode und SendQuery sorgen für die Datenbeschaffung vom Server und Durchreichung an die View.
  3. Um aktuelle Spielstände zu halten und an die View weiter zu geben wird für jede Spielinstanz der serverseitigen Datenbank ein Objekt einer dafür spezifischen Klasse instanziiert.

Objective C

Objective C ist eine objektorientierte Erweiterung von Ansi C. Große Teile der C Syntax sind auch in Objective C übernommen und ähnelt daher auch stark Java und C++. Was den Umgang mit Objekten und Methoden angeht, geht ObjC aber einen etwas anderen Weg. So werd zum Beispiel zum Aufruf von Methoden an Klassen oder Objekten nicht die von C++ oder Java vertraute Punkt-Notation benutzt sondern eine so genannte "Message" an das jeweile Objekt bzw. Klasse abgesetzt:

{
//...
 
Foo foo= new Foo();
foo.method1(30);
 
//...
}


{
//...
 
Foo *foo= [[Foo alloc] init];
[foo method1:30];
 
//...
}


Page last modified on August 23, 2009, at 09:15 AM