ibireme / YYCategories

A set of useful categories for Foundation and UIKit.
MIT License
826 stars 218 forks source link

你好,我想询问下NSArray分类中的shuffle方法 #30

Open developforapple opened 8 years ago

developforapple commented 8 years ago

shuffle 方法可不可以拿来从数组中取一定数量的随机内容? 先洗牌,再取前N个。这样取得的内容符不符合随机的要求?

NSArray *originArray = ......;
NSMutableArray *tmp = [NSMutableArray arrayWithArray:originArray];
[tmp shuffle];
NSUInteger count = 10;
NSArray *randomArray;
if (tmp.count >= count) {
    randomArray = [tmp subarrayWithRange:NSMakeRange(0, count)];
}else{
    randomArray = tmp;
}
ColinHwang commented 8 years ago

如须保证随机元素的单一性,可以这样做。如果不需要,可以用randomObject来加到数组。