Benutzer-Werkzeuge

Webseiten-Werkzeuge


apple:foundation:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
apple:foundation:start [2015-03-09 08:55] – [Strings] "Formatieren" eingefügt a.kamolaapple:foundation:start [2015-03-16 12:56] (aktuell) – [Zahlen] "Literal" eingefügt a.kamola
Zeile 4: Zeile 4:
  
 Die Klassen von Foundation beginnen i.d.R. mit dem Kürzel "NS" als Abkürzung für das, von Steve Jobs entwickelte, Betriebssystem [[wp>NeXTSTEP|NeXTSTEP]], auf dessen Komponenten MacOS X basiert. Die Klassen von Foundation beginnen i.d.R. mit dem Kürzel "NS" als Abkürzung für das, von Steve Jobs entwickelte, Betriebssystem [[wp>NeXTSTEP|NeXTSTEP]], auf dessen Komponenten MacOS X basiert.
 +
 +===== Hello World =====
 +
 +Ein einfaches Programm in [[objc:start|Objective-C]] mit dem Foundation-Framework und ''NSAutorelasePool'':
 +
 +<code objc helloworld.m>
 +#import <Foundation/Foundation.h>
 +
 +int main(int argc, char const *argv[])
 +{
 + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
 +
 + NSLog("Hello World!");
 +
 + [pool drain];
 +
 + return 0;
 +}
 +</code>
 +
 +===== Logging mit NSLog =====
 +
 +Logging einer Variable ''foo'' vom Typ ''NSString'':
 +
 +<code objc>
 +NSLog(@"foo: %@", foo);
 +</code>
  
 ===== Konstanten ===== ===== Konstanten =====
Zeile 24: Zeile 51:
  
 ===== Zahlen ===== ===== Zahlen =====
 +
 +==== Literal ====
 +
 +Mit dem Prefix ''@'' kann ein ''NSNumber''-Objekt direkt mit Zahl oder sogar mit einem String initialisiert werden:
 +
 +<code objc>
 +NSNumber *number = @42;
 +</code>
 +
 +Quelle: [[http://clang.llvm.org/docs/ObjectiveCLiterals.html|Clang 3.7: Objective-C Literals]]
  
 ==== String zu Zahl ==== ==== String zu Zahl ====
Zeile 56: Zeile 93:
  
 Quelle: [[http://stackoverflow.com/a/3613887|Stack Overflow: Replace a substring with another substring]] Quelle: [[http://stackoverflow.com/a/3613887|Stack Overflow: Replace a substring with another substring]]
 +
 +===== Arrays =====
 +
 +Definition eines Arrays als "Literal", mit zwei String-Werten:
 +
 +<code objc>
 +NSArray *foobar = @[@"foo", @"bar"];
 +</code>
 +
 +==== Durch ein Array mit einem Block iterieren ====
 +
 +<code objc>
 +NSArray *foo = [NSArray arrayWithObjects:@"foo", @"bar", @"foobar", nil];
 +
 +[foo enumerateObjectsUsingBlock:^(id value, NSUInteger index, BOOL *stop) {
 + NSLog(@"%lu: %@", index, value);
 +}];
 +</code>
 +
 +==== NSSet in NSArray/NSMutableArray ====
 +
 +<code objc>
 +NSSet *foo = [[NSSet alloc] init]
 +
 +// ...
 +
 +NSMutableArray *foobar = [NSMutableArray arrayWithArray[foo allObjects]];
 +
 +// Alternative:
 +
 +NSMutableArray *barfoo = [[foo allObjects] mutableCopy];
 +</code>
 +
 +===== NSDictionary =====
 +
 +==== NSDictionary in NSData konvertieren ====
 +
 +<code objc>
 +NSData *fooData = [NSKeyedArchiver archivedDataWithRootObject:fooDictionary];
 +</code>
 +
 +==== NSData in NSDictionary konvertieren ====
 +
 +<code objc>
 +NSDictionary *fooDictionary = (NSDictionary *)[NSKeyedUnarchiver unarchiveObjectWithData:fooData];
 +</code>
  
 ===== Datum/Uhrzeit ===== ===== Datum/Uhrzeit =====
Zeile 89: Zeile 172:
 Quelle: [[http://stackoverflow.com/a/5965106|Stack Overflow: How to compare two NSDates: which is more recent?]] Quelle: [[http://stackoverflow.com/a/5965106|Stack Overflow: How to compare two NSDates: which is more recent?]]
  
-===== NSDictionary =====+===== Timer =====
  
-==== NSDictionary in NSData konvertieren ==== +[[https://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/classes/NSTimer_Class/Reference/NSTimer.html|NSTimer Class Reference]]
- +
-<code objc> +
-NSData *fooData = [NSKeyedArchiver archivedDataWithRootObject:fooDictionary]; +
-</code> +
- +
-==== NSData in NSDictionary konvertieren ==== +
- +
-<code objc> +
-NSDictionary *fooDictionary = (NSDictionary *)[NSKeyedUnarchiver unarchiveObjectWithData:fooData]; +
-</code>+
  
 ===== NSPredicate ===== ===== NSPredicate =====
apple/foundation/start.1425887731.txt.gz · Zuletzt geändert: 2015-03-09 08:55 von a.kamola