Objective-C Language
Modernt mål-C
Sök…
litteraler
Modernt mål C ger sätt att minska mängden kod du behöver för att initialisera vissa vanliga typer. Det här nya sättet liknar mycket hur NSString-objekt initialiseras med ständiga strängar.
NSNumber
Gamla sättet:
NSNumber *number = [NSNumber numberWithInt:25];
Modernt sätt:
NSNumber *number = @25;
Obs! Du kan också lagra BOOL
värden i NSNumber
objekt med @YES
, @NO
eller @(someBoolValue)
;
NSArray
Gamla sättet:
NSArray *array = [[NSArray alloc] initWithObjects:@"One", @"Two", [NSNumber numberWithInt:3], @"Four", nil];
Modernt sätt:
NSArray *array = @[@"One", @"Two", @3, @"Four"];
NSDictionary
Gamla sättet:
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys: array, @"Object", [NSNumber numberWithFloat:1.5], @"Value", @"ObjectiveC", @"Language", nil];
Modernt sätt:
NSDictionary *dictionary = @{@"Object": array, @"Value": @1.5, @"Language": @"ObjectiveC"};
Behållarabonnemang
I modern Objekt C-syntax kan du hämta värden från NSArray
och NSDictionary
behållare med behållarsubscripting.
Gamla sättet:
NSObject *object1 = [array objectAtIndex:1];
NSObject *object2 = [dictionary objectForKey:@"Value"];
Modernt sätt:
NSObject *object1 = array[1];
NSObject *object2 = dictionary[@"Value"];
Du kan också infoga objekt i matriser och ställa in objekt för nycklar i ordböcker på ett renare sätt:
Gamla sättet:
// replacing at specific index
[mutableArray replaceObjectAtIndex:1 withObject:@"NewValue"];
// adding a new value to the end
[mutableArray addObject:@"NewValue"];
[mutableDictionary setObject:@"NewValue" forKey:@"NewKey"];
Modernt sätt:
mutableArray[1] = @"NewValue";
mutableArray[[mutableArray count]] = @"NewValue";
mutableDictionary[@"NewKey"] = @"NewValue";
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow