RandomUtils
通用
Objective-C 中的随机数处理实用工具
这一系列实用工具允许您轻松地生成所需范围内的随机数,从数组、字典中随机选择元素,以及生成所需长度的随机字符串。
所有这些功能都允许使用带有种子版本的随机化生成可重放的随机序列。使用相同值初始化随机化器将始终生成相同的序列。
示例
unsigned seed = 100;
[RandomUtils setSeed:seed];
NSLog(@"%d", [RandomUtils randomIntBetweenMin:0 andMax:100 useSeed:YES]); //31
NSLog(@"%d", [RandomUtils randomIntBetweenMin:0 andMax:100 useSeed:YES]); //74
NSLog(@"%d", [RandomUtils randomIntBetweenMin:0 andMax:100 useSeed:YES]); //62
NSLog(@"%d", [RandomUtils randomIntBetweenMin:0 andMax:100 useSeed:YES]); //82
NSLog(@"%d", [RandomUtils randomIntBetweenMin:0 andMax:100 useSeed:YES]); //60
//reseeding the randomizer
[RandomUtils setSeed:seed];
NSLog(@"%d", [RandomUtils randomIntBetweenMin:0 andMax:100 useSeed:YES]); //31
NSLog(@"%d", [RandomUtils randomIntBetweenMin:0 andMax:100 useSeed:YES]); //74
NSLog(@"%d", [RandomUtils randomIntBetweenMin:0 andMax:100 useSeed:YES]); //62
NSLog(@"%d", [RandomUtils randomIntBetweenMin:0 andMax:100 useSeed:YES]); //82
NSLog(@"%d", [RandomUtils randomIntBetweenMin:0 andMax:100 useSeed:YES]); //60
加权随机化
加权随机化提供了一种简单的方法,可以根据与每个元素关联的权重从 NSArray 或 NSDictionary 中随机选择项。
NSArray* weights = @[@(75), @(24), @(1)];
int index = [RandomUtils randomIndexWeighted:weights];
在上面的示例中:
- 第一个元素有 75% 的机会被随机选择(75 / (75 + 24 + 1))
- 第二个元素有 24% 的机会被随机选择(25 / (75 + 24 + 1))
- 第三个元素有 1% 的机会被随机选择(1 / (75 + 24 + 1))
安装
要使用utils,只需将文件拖到您的项目中。
使用CocoaPods安装
CocoaPods 是一个针对Objective-C的依赖管理器,它自动化并简化了在项目中使用第三方库,如AFNetworking的过程。
Podfile
pod 'RandomUtils'
ARC
这些工具需要启用ARC。
作者
Grzegorz Krukowski,[email protected]
许可证
RandomUtils 在MIT许可证下可用。更多信息请参阅LICENSE文件。