1. ホーム
  2. objective-c

[解決済み] Cocoaでランダムな英数字の文字列を生成する

2022-05-05 16:08:03

質問

あるメソッドを呼び出し、長さを渡してランダムな英数字の文字列を生成させたい。

このようなタイプの関数をたくさん持っているようなユーティリティ・ライブラリはありますか?

どのように解決するのですか?

ここでは、簡単で汚い実装を紹介します。 テストはしていません。

NSString *letters = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

-(NSString *) randomStringWithLength: (int) len {

    NSMutableString *randomString = [NSMutableString stringWithCapacity: len];

    for (int i=0; i<len; i++) {
         [randomString appendFormat: @"%C", [letters characterAtIndex: arc4random_uniform([letters length])]];
    }

    return randomString;
}