Sqidsは、数値から短い一意の識別子を生成できるオープンソースのライブラリです。これらのIDはURLセーフであり、複数の数値をエンコードでき、一般的な卑語を含んでいません。 もっと読む .
こう見えます:
クイックエンコード&デコードの例:
Sqids *sqids = [[Sqids alloc] init];
NSString *id_ = [sqids encode:@[@1, @2, @3] error:nil]; // @"86Rf07"
NSArray<NSNumber *> *numbers = [sqids decode:id_]; // @[@1, @2, @3]
IDが短すぎる場合は、特定の長さまでパディングすることができます:
SqidsOptions *options = [[SqidsOptions alloc] init];
options.minLength = @10;
Sqids *sqids = [[Sqids alloc] initWithOptions:options];
NSString *id_ = [sqids encode:@[@1, @2, @3] error:nil]; // @"86Rf07xd4z"
NSArray<NSNumber *> *numbers = [sqids decode:id_]; // @[@1, @2, @3]
アルファベットをシャッフルしてユニークなIDを作成する:
SqidsOptions *options = [[SqidsOptions alloc] init];
options.alphabet = @"k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt";
Sqids *sqids = [[Sqids alloc] initWithOptions:options];
NSString *id_ = [sqids encode:@[@1, @2, @3] error:nil]; // @"XRKUdQ"
NSArray<NSNumber *> *numbers = [sqids decode:id_]; // @[@1, @2, @3]
完全なドキュメントはこちら https://github.com/sqids/sqids-objective-c
元のHashids Objective-Cをお探しの場合は、こちらで見つけることができます: https://github.com/DrGodCarl/hashids-objc
Sqidsの主な用途は純粋に視覚的です。プロジェクトで数字の代わりにIDを使用したい場合、Sqidsは良い選択肢になるかもしれません。