Benutzer-Werkzeuge

Webseiten-Werkzeuge


apple:foundation:start

Dies ist eine alte Version des Dokuments!


Foundation

Foundation ist das Basis-Framework von Apple für MacOS X und iOS.

Die Klassen von Foundation beginnen i.d.R. mit dem Kürzel „NS“ als Abkürzung für das, von Steve Jobs entwickelte, Betriebssystem NeXTSTEP, auf dessen Komponenten MacOS X basiert.

Konstanten

Konstanten sollten mit dem Foundation-Framework als „statische Eigenschaften“ definiert werden, statt über das noch aus C übliche #define (siehe dazu Objective-C: Konstanten).

Für eine statische Eigenschaft wird in der Header-Datei einer Klasse über dem @interface-Block diese mit den Schlüsselwörtern extern und const definiert. Bei der Benennung der Konstanten ist es auch oft üblich diese mit einem kleinen „k“ zu beginnen.

extern NSString * const kFooBar;

In der Implementierungs-Datei wird dann der statischen Eigenschaft ein Wert zugewiesen. Dabei kann dann auf das Schlüsselwort extern verzichtet werden, das Schlüsselwort const muss aber beibehalten werden:

NSString * const kFooBar = @"SomeConstantValue";

Quelle: Stack Overflow: What is the best way to create constants in Objective-C?

Zahlen

String zu Zahl

Um ein String als Zahl verwenden zu können, muss der String mittels des NSNumberFormatters in eine Zahl vom Typ NSNumber umgewandelt werden:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
 
numberFormatter.numberStyle = NSNumberFormatterDecimalStyle;
 
NSNumber *foo = [numberFormatter numberFromString:@"42"];

Quelle: Stack Overflow: How to convert an NSString into an NSNumber

Strings

Formatieren

Teile in einem String ersetzten

Um Teile in einem String zu ersetzen gibt es in jedem Objekt der Klasse NSObject die Methode stringByReplacingOccurrencesOfString:withString::

NSString *foo = @"Hello World";
NSString *bar = [foo stringByReplacingOccurrencesOfString:@"World" withString:@"Sky"];
// Hello Sky

Quelle: Stack Overflow: Replace a substring with another substring

Datum/Uhrzeit

Aktuelles Datum und Uhrzeit

Das aktuelle Datum die aktuelle Uhrzeit liefert die Klassen-Methode date der Klasse NSDate:

NSDate *now = [NSDate date]

Daten vergleichen

Daten lassen sich am besten über die Methode compare: der Klasse NSDate vergleichen:

if ( [date1 compare:date2] == NSOrderedSame ) {
	// date1 and date2 are the same
}
 
if ( [date1 compare:date2] == NSOrderedDescending ) {
	// date1 is after/later than date2
}
 
if ( [date1 compare:date2] == NSOrderedAscending ) {
	// date1 is before/earlier than date2
}

Details in der Dokumentation von NSDate.

Quelle: Stack Overflow: How to compare two NSDates: which is more recent?

NSDictionary

NSDictionary in NSData konvertieren

NSData *fooData = [NSKeyedArchiver archivedDataWithRootObject:fooDictionary];

NSData in NSDictionary konvertieren

NSDictionary *fooDictionary = (NSDictionary *)[NSKeyedUnarchiver unarchiveObjectWithData:fooData];

NSPredicate

Mit NSPredicate können Daten-Sätze in Arrays oder Sets oder aus Core Data nach Vorgaben gefiltert werden.

apple/foundation/start.1425887731.txt.gz · Zuletzt geändert: 2015-03-09 08:55 von a.kamola