Suche…


Literale

Modernes Ziel C bietet Möglichkeiten, um den Code zu reduzieren, den Sie zum Initialisieren einiger gebräuchlicher Typen benötigen. Diese neue Methode ähnelt sehr der Art und Weise, wie NSString-Objekte mit konstanten Zeichenfolgen initialisiert werden.

NSNumber

Alter Weg:

NSNumber *number = [NSNumber numberWithInt:25];

Moderne Art:

NSNumber *number = @25;

Hinweis: Sie können BOOL Werte auch in NSNumber Objekten mit @YES , @NO oder @(someBoolValue) .

NSArray

Alter Weg:

NSArray *array = [[NSArray alloc] initWithObjects:@"One", @"Two", [NSNumber numberWithInt:3], @"Four", nil]; 

Moderne Art:

NSArray *array = @[@"One", @"Two", @3, @"Four"];

NSDictionary

Alter Weg:

NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys: array, @"Object", [NSNumber numberWithFloat:1.5], @"Value", @"ObjectiveC", @"Language", nil];

Moderne Art:

NSDictionary *dictionary = @{@"Object": array, @"Value": @1.5, @"Language": @"ObjectiveC"};

Container-Subskription

In der modernen Objective C-Syntax können Sie mithilfe von Container-Subskription Werte aus NSArray und NSDictionary Containern erhalten.

Alter Weg:

NSObject *object1 = [array objectAtIndex:1];
NSObject *object2 = [dictionary objectForKey:@"Value"];

Moderne Art:

NSObject *object1 = array[1];
NSObject *object2 = dictionary[@"Value"];

Sie können Objekte auch in Arrays einfügen und Objekte für Schlüssel in Wörterbüchern sauberer festlegen:

Alter Weg:

// replacing at specific index
[mutableArray replaceObjectAtIndex:1 withObject:@"NewValue"];
// adding a new value to the end
[mutableArray addObject:@"NewValue"];

[mutableDictionary setObject:@"NewValue" forKey:@"NewKey"];

Moderne Art:

mutableArray[1] = @"NewValue";
mutableArray[[mutableArray count]] = @"NewValue";

mutableDictionary[@"NewKey"] = @"NewValue";


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow