2

我有以下 NSCharacterSet 并希望生成一个对该字符集有效的随机字符串。

NSMutableCharacterSet *characterSet = [NSMutableCharacterSet alphanumericCharacterSet];

[characterSet formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]];

[NSCharacterSet characterSetWithCharactersInString:]从字符串中产生一个字符集。我想要一种相反的方法。就像是[NSString stringWithCharacterSet:]

4

1 回答 1

3

我认为这不是NSCharacterSet存储有效字符列表的最佳方式,因为它没有提供方便的方法来获取其长度或访问特定索引处的字符。改用NSString

+ (NSString *)randomStringFromCharacters:(NSString *)chars
                                ofLength:(NSUInteger)length
{
    unichar str[length];
    for (NSUInteger i = 0; i < length; i++)
        str[i] = [chars characterAtIndex:arc4random() % [chars length]];

    return [NSString stringWithCharacters:str length:length];

}
于 2014-09-24T12:43:38.403 回答