Objective-C Language
Moderne doelstelling-C
Zoeken…
literals
Moderne doelstelling C biedt manieren om de hoeveelheid code te verminderen die u nodig hebt om enkele veel voorkomende typen te initialiseren. Deze nieuwe manier lijkt erg op hoe NSString-objecten worden geïnitialiseerd met constante tekenreeksen.
NSNumber
Oude weg:
NSNumber *number = [NSNumber numberWithInt:25];
Moderne manier:
NSNumber *number = @25;
Opmerking: u kunt BOOL
waarden ook opslaan in NSNumber
objecten met @YES
, @NO
of @(someBoolValue)
;
NSArray
Oude weg:
NSArray *array = [[NSArray alloc] initWithObjects:@"One", @"Two", [NSNumber numberWithInt:3], @"Four", nil];
Moderne manier:
NSArray *array = @[@"One", @"Two", @3, @"Four"];
NSDictionary
Oude weg:
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys: array, @"Object", [NSNumber numberWithFloat:1.5], @"Value", @"ObjectiveC", @"Language", nil];
Moderne manier:
NSDictionary *dictionary = @{@"Object": array, @"Value": @1.5, @"Language": @"ObjectiveC"};
Abonnement van containers
In de moderne syntaxis van Objective C kunt u waarden verkrijgen uit NSArray
en NSDictionary
containers met behulp van subscripting van containers.
Oude weg:
NSObject *object1 = [array objectAtIndex:1];
NSObject *object2 = [dictionary objectForKey:@"Value"];
Moderne manier:
NSObject *object1 = array[1];
NSObject *object2 = dictionary[@"Value"];
U kunt ook objecten in arrays invoegen en objecten voor sleutels in woordenboeken op een schonere manier instellen:
Oude 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 manier:
mutableArray[1] = @"NewValue";
mutableArray[[mutableArray count]] = @"NewValue";
mutableDictionary[@"NewKey"] = @"NewValue";