Swiftpack.co -  gabriel/GHODictionary as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
Ordered dictionary
.package(url: "https://github.com/gabriel/GHODictionary.git", from: "1.2.0")


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"

Swift Package Manager

.package(url: "https://github.com/gabriel/GHODictionary", from: "1.2.0"),


pod "GHODictionary"


github "gabriel/GHODictionary"


Stars: 11
Last commit: 3 weeks ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Release Notes

3 weeks ago

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API