我试图弄清楚如何将一组用户中的一对用户呈现给current_user
应用程序,而不是current_user
再次看到同一对用户。从数学上讲,我知道这是 a n choose 2
,其中 n 是用户数组的大小。但是,我不确定如何设置数据结构,以便它可以随机地将所有对的组合呈现给current_user
. 谢谢!
问问题
28 次
1 回答
1
我会创建一个由两个用户的 id 组成的类。
@interface userPair: NSObject
@property (nonatomic, assign) NSInteger user1id;
@property (nonatomic, assign) NSInteger user2id;
@end
我只需创建一个包含所有可能对的 NSMutableArray,然后运行这个很棒的 shuffle 方法:(取自这个答案)
- (void)shuffle
{
NSUInteger count = [self count];
for (NSUInteger i = 0; i < count; ++i) {
// Select a random element between i and end of array to swap with.
NSInteger nElements = count - i;
NSInteger n = (arc4random() % nElements) + i;
[self exchangeObjectAtIndex:i withObjectAtIndex:n];
}
}
于 2013-08-23T04:14:43.727 回答