App-Templates: Erstellt automatisch einen Navigation Controller mit editierbarem UITableView und DetailView, der bei Klick auf einzelne UITableViewCell angezeigt wird. Kreiert einen GLKitViewController mit GLKitView und zwei 3D-Würfeln. Gedacht für Spiele (3D) Seiten-basierte App Erstellt RootViewController, DataViewController und ModelController Standardmäßig 12 Seiten mit Monatsbezeichnung. Gut für e-book ähnliche Apps. Ein ViewController ohne Inhalt. Gut für Rich Experience Design (Custom Design) Mehr Freiheiten Standardmäßig mit 2 Tabs ausgestattet. 2 ViewController: FirstViewController SecondViewController 2 ViewController, verbunden mit FlipSide Animation. Mit CoreData Leeres Projekt ohne ViewController Nur AppDelegate und CoreData Ähnlich wie Cocos2D Gut für 2D Spiele Erstellt bereits Hello World Scene.
App LifeCycle: Quelle: ios Application Programming Guide App-Delegate als Zugriff für Zustandsänderungen nützlich. Speicherung von Daten bei Beenden der App. applicationdidfinishlaunchingwithoptions oft benutzt für Registrierung der App in Ad- Networks. Header File (.h Datei): Das was man global braucht Globale Variablen deklarieren. Prototypen der Methoden/Actions (Methoden werden dem Compiler bekannt gemacht) Keine Methodenrümpfe KlassenDeklaration Bedeutet: Subklasse von NSObject KlassenName : SuperKlasse
Implementation File: (.m Datei): Implementierung des Codes. Ort des Geschehens ViewController haben besondere automatisch generierte Methoden. Bsp: -viewdidload (Wird beim Öffnen des ViewControllers aufgerufen) Initialisieren der Objekte. NSObject.m Dateien haben stattdessen init-methoden (gleiche Funktion wie -viewdidload bei ViewController) Methodenaufbau: Deklaration: - = Instanzmethoden + = Klassenmethoden Name der Methode Name des erwarteten Wertes - (NSString *)resultasstring:(int)value1 andvaluetwo:(int)value2; Rückgabetyp der Methode (void) = kein Rückgabewert Parameter (Erwartete Wert(e)) Methodenbody/rumpf des Beispiels: - (NSString *)resultasstring:(int)value1 andvaluetwo:(int)value2 { int result = value1 + value2; NSString *rueckgabestring = [NSString stringwithformat:@ Das Ergebnis ist: %d,result]; } return rueckgabestring; Alle non-void Methoden müssen ein return - Statement besitzen. Aufruf der Methode des obigen Beispiels: NSString *str = [[NSString alloc] init]; str = [self resultasstring:10 andvaluetwo:21];
Die Methode kann str zugewiesen werden, da str dann den Wert der Rückgabe animmt. In diesem Fall würde str den Wert Das Ergebnis ist: 31 besitzen. Aufruf von Methoden ohne Parameter: Variablen in Strings: INTEGER: (ganze Zahl) int value = 1; self bedeutet: Methode Befindet sich in selber Klasse [self methodwithoutparam]; NSString* str = [NSString stringwithformat:@ Ein Int-Wert: %d,value]; FLOAT: (Kommazahl) float value = 1.0; NSString* str = [NSString stringwithformat:@ Ein Int-Wert: %.f,value]; Bei.f wird auf ganze Zahl gerundet..1f = 1 Nachkommazahl wird angezeigt.. 2f = 2 Nachkommazahlen werden angezeigt...... OBJEKTE: (Auch NSString): NSString* valuestring; NSString* str = [NSString stringwithformat:@ Ein Int-Wert: %@,valuestring]; BOOLEAN: Kann mit %d wie integer behandelt werden. 0 = NO; 1 = YES;
SELEKTOREN: Ähnlich wie Methoden Oft bei Timern eingesetzt. [self performselector:@selector(selektorname)]; Kann auch mit Parameter aufgerufen werden, dann mit Doppelpunkt in runder Klammer: [self performselector:@selector(selektornamemitparameter:) withobject:objekt]; Auch mit Verspätung möglich: [self performselector:@selector(selektornamemitparameter:) withobject:objekt withdelay:1.0]; IBActions: -(IBAction)btnClicked:(id)sender; Meistbenutzte Events: (von mir :D) TouchUpInside = Wird aufgerufen wenn bei Klick losgelassen wird. ValueChanged = Nützlich bei SegmentedControl,UISlider usw... DidEndOnExit = Für Return Taste bei Tastaturen. (Tastatur verschwinden lassen) Konsolenausgabe: NSLog(@ Das ist eine Konsolenausgabe ); Befehl: Bedeutung:.h File Deklaration aller globalen Variablen und Methoden, die für andere Klassen sichtbar sein sollen..m File Implementierung der deklarierten Methoden. Ort des Geschehens NSString * string string = [NSString stringwithformat:@ hi ]; [self methodenaufruf]; [KlassenName methodenaufruf]; -(void)keinrueckgabewert; -(int)gibsmir; return value; [self performselector:@selector(selektorname)] Deklaration (erstellen) Initialisieren (wert zuweisen) Methodenaufruf innerhalb einer Klasse Methodenaufruf in anderer Klasse Methode gibt nichts zurück Methode gibt int-wert zurück. Muss in jeder non-void Methode vorkommen Aufruf eines Selektors (mit objekt s.o.)
NSTimer *timer = [NSTimer scheduledtimerwithtimeinterval:1.0 target:self selector:@selector(reloadtableview) userinfo:nil repeats:yes]; Einfacher Timer. %d int in String %.f %@ NSLog(@ Konsole ); value++ value+=1; value = value+1; Klassenmethoden: +(void)klassenmethod; Instanzmethoden -(void)instanzmethod; NSArray* array NSMutableArray *marray NSString *string NSDate * date = [NSDate currentdate];.plist @property DATENTYPEN Integer char float double short long Long long BOOL OPERATOREN Float in String (ohne Nachkommazahl) Objekt in String + Addition Ausgabe auf Konsole Value wird 1 erhöht. Value wird 1 erhöht. Value wird 1 erhöht. (Andere Rechenoperatoren ähnlich). Können nicht auf Instanzvariablen zugreifen. Meist zum Erstellen von Objekten Greifen auf Instanzvariablen zu. Mit minus gekennzeichnet. Array mit festgelegter Größe Array mit dynamischer Größe String (Zeichenkette) Datumstyp (jetziges Datum) XML-Datei, gut zum Speichern von Spielständen Erstellt automatisch getter und Setter Methoden eines Objekts. Ganze Nummer 4Bytes Character 1 Byte (Buchstabe) Fließkommazahl 4 Bytes Genauerer float 8 Bytes Kurzer int 2 Bytes Doppelter short 4 Bytes Doppelter long 8 Bytes JA/Nein Wert 1 Byte - Subtraktion * Multiplikation / Division
% Modulo (Restwert bei Division) == Gleich? (bei if Abfrage)!= Ungleich? > Größer als >= Größer gleich < Kleiner als <= Kleiner gleich && Logisches und Logisches oder () Cast (int)floatvalue Float Value wird zu int übersetzt.