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";


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow