NSDictionary class represents an unordered collection of objects associate each value with a key.
Create NSDictionary
NSDictionary *cars = @{
@"Mercedes" : @"Benz SLK250"],
@"BMW M3 Coupe" : @"M3 Coupe",
@"Honda" : @"Civic",
};
NSLog(@"Dictionary: %@", cars);
NSLog(@"Manufacturers: %@", [cars allKeys]);
NSLog(@"Models: %@", [cars allValues]);
Enumerate NSDictionary
[cars enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSLog(@"There are %@ %@'s in stock", obj, key);
}];
Compare NSDictionaries
NSDictionary *warehouse = @{
@"Mercedes-Benz SLK250" : [NSNumber numberWithInt:13],
@"BMW X6" : [NSNumber numberWithInt:16],
};
NSDictionary *showroom = @{
@"Mercedes-Benz SLK250" : [NSNumber numberWithInt:13],
@"BMW X6" : [NSNumber numberWithInt:16],
};
if ([warehouseInventory isEqualToDictionary:showroomInventory]) {
NSLog(@"Why are we storing same model cars ?");
}
Sorting Dictionary Keys
NSDictionary *cars = @{
@"Mercedes" : @"Benz SLK250"],
@"BMW M3 Coupe" : @"M3 Coupe",
@"Honda" : @"Civic",
};
NSArray *sortedKeys = [cars keysSortedByValueUsingComparator:
^NSComparisonResult(id obj1, id obj2) {
return [obj2 compare:obj1];
}];
NSLog(@"%@", sortedKeys);
Create a NSMutableDictionary
NSMutableDictionary *owners = [NSMutableDictionary
dictionaryWithDictionary:@{
@"Audi TT" : @"John",
@"Audi Quattro (Black)" : @"Mary",
@"Audi Quattro (Silver)" : @"Bill",
@"Audi A7" : @"Bill"
}];
NSLog(@"%@", owners);
Add/Remove from a NSMutableDictionary
NSMutableDictionary *carJobs = [NSMutableDictionary
dictionaryWithDictionary:@{
@"Audi TT" : @"John",
@"Audi Quattro (Black)" : @"Mary",
@"Audi Quattro (Silver)" : @"Bill",
@"Audi A7" : @"Bill"
}];
// Transfer an existing job to Mary
[carJobs setObject:@"Mary" forKey:@"Audi TT"];
// Finish a job
[carJobs removeObjectForKey:@"Audi A7"];
// Add a new job
carJobs[@"Audi R8 GT"] = @"Jack";
Combine NSMutableDictionary
NSMutableDictionary *carJobs = [NSMutableDictionary
dictionaryWithDictionary:@{
@"Audi TT" : @"John",
@"Audi Quattro (Black)" : @"Mary",
@"Audi Quattro (Silver)" : @"Bill",
@"Audi A7" : @"Bill"
}];
NSDictionary *carJobsSeekers = @{
@"BMW 640i" : @"Dick",
@"BMW X5" : @"Brad"
};
[carJobs addEntriesFromDictionary:carJobsSeekers];
*Happy Coding :)
0 Comment(s)