GHODictionary 1.1.0

GHODictionary 1.1.0

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Sep 2016

Maintained by Gabriel Handford.


Downloads

Total548,731
Week0
Month0

Installs

Apps1,966
Pod Tries8
Test Targets297
Watch Apps2
powered by Segment

GitHub

Stars5
Watchers1
Forks6
Issues0
Contributors2
Pull Requests0

Code

Files3
LOCLines of Code 195


  • By
  • Gabriel Handford

Ordered dictionary. Enumeration occurs in the order that entries were added. If an item is overwritten, the order is unchanged.

For example,

#import <GHODictionary/GHODictionary.h>

GHODictionary *dict = [GHODictionary dictionary];
dict[@"key1"] = @(1);
dict[@"key2"] = @(2);
dict[@"key1"] = @(3);

for (id key in dict) ... // @"key1", @"key2" 

[dict allKeys]; // The same as enumeration, @"key1", @"key2"

[dict map:^(id key, id value) { ... }]; // (@"key1", @(3)), (@"key2", @(2))

If you want to overwrite a value and have it moved to the end of the ordering, then remove it and re-add:

dict[@"key1"] = nil;
dict[@"key1"] = @(3);
[dict allKeys]; // @"key2", @"key1"

Because it is ordered, it is also sortable:

dict[@"b"] = @(2);
dict[@"c"] = @(3);
dict[@"a"] = @(1);
[dict sortKeysUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

[dict allKeys]; // @"a", @"b", @"c"

Podfile

pod "GHODictionary"

Cartfile

github "gabriel/GHODictionary"