所以我有一个“食物”表有三种类型:“餐,甜点和零食”。我将这些类别附加到“搜索选项”页面中的按钮,它们基本上执行“从食物中选择*类型='餐点'”这样的事情并且工作正常。
问题在于,当我尝试从“全部”(“从食物中选择*”)中随机检索一个对象时,它只返回饭菜。我认为这可能是“objectAtIndex:0”的问题?
ranDom = [_entries bjl_shuffledArray];
Place *p = [ranDom objectAtIndex:0];
所以我也尝试将索引随机化:
NSInteger randomIndex = arc4random()%[_entries count];
ranDom = [_entries bjl_shuffledArray];
Place *p = [ranDom objectAtIndex:randomIndex];
...但它似乎只是从膳食中检索结果......而不是“食物”中的其他两种类型。
我知道如何才能更好地返回所有三种类型的结果?
编辑:以下是bjl_shuffled_array的工作原理:
- (NSArray *)bjl_shuffledArray
{
NSMutableArray *shuffledArray = [self mutableCopy];
NSUInteger arrayCount = [shuffledArray count];
if (arrayCount > 0) {
for (NSUInteger i = arrayCount - 1; i > 0; i--) {
NSUInteger n = arc4random_uniform(i + 1);
[shuffledArray exchangeObjectAtIndex:i withObjectAtIndex:n];
}
}
return [shuffledArray copy];
}
答案 0 :(得分:0)
所以“_entries”只返回30个结果。我知道某处必须有限制,因为应该有大约306件物品。首先,我检查了应用程序的所有代码中的数字“30”并没有找到任何结果。所以我检查了PHP文件,发现有人偷偷摸摸:
$rows_per_page = 30;
将“30”改为“3000”,现在一切都与世界相符。感谢Rich Tolley的帮助。