我有一个我想以随机顺序访问的对象字典。 它不一定是随机的,只是有很大的变化。
字典看起来像这样:
'customer0' : '<Customer Object>'
'customer1' : 'inactive'
'customer2' : 'inactive'
'customer3' : 'inactive'
'customer4' : '<Customer Object>'
该键对应于将用于表示游戏中的客户的UI元素,并且基本上我希望它们不是每次都以相同的顺序出现。
答案 0 :(得分:3)
关于随机数read more here on stack。所以,如果你有字符串键,你可以像这样使用smth:
NSString *key = [NSString stringWithFormat:@"customer%d", arc4random()%5];
<customer object> *customObj = [yourDictionary objectForKey:key];
答案 1 :(得分:2)
在伪代码中:
答案 2 :(得分:0)
我没有测试过这个,但是这些方面的东西应该达到你的目标:
//create dictionary
NSDictionary *dictionary = [NSDictionary dictionary];
//gather set of keys from array of keys
NSSet *keys = [NSSet setWithArray:[dictionary allKeys]];
//gather random key
NSString *key = [keys anyObject];
//gather dictionary value with key
NSString *value = [dictionary objectForKey:key];
通过从NSSet
字典键创建NSArray
,您可以使用anyObject
从数组中收集随机密钥。
肯定有其他方法可以实现这一目标,但这是我能想到的最简洁的方法。