这是我的循环
for category in categories! {
NearbyPlaces.getNearbyPlaces(by: category?.name ?? "food", coordinates: currentLocation!, radius: radius, token: self.response?.nextPageToken, completion: didReceiveResponse)
}
其中categories
是一个数组,其中包含地点类别(谷歌地点)(如餐厅、健身房、酒吧)的列表,我将它与许多其他函数一起使用来搜索附近的地点这些类别。我的问题是这样的,现在就像现在一样,一切正常,所以如果在我的数组 categories
中,我有 2 个元素:酒吧和健身房,在我附近有 10 家餐厅和 10 家健身房,他会在我的 tableView 中加载 10 个餐厅和 10 个健身房。但是现在我对可加载位置添加了限制,我遇到了一个问题,如果我周围有 10 家餐厅和 10 家健身房,并且限制是(例如)4 个,他不会加载给我 2 家餐厅和 2 家健身房,而是 4 家餐厅或 4 个健身房,取决于数组中第一个出现的元素,所以我想知道如何修改循环,以便它始终使用数组的不同元素(所以一次使用索引 0 中的元素,在元素之后在索引 1 等中)
编辑
你们是对的,但要清楚地解释我的问题并不容易,基本上我有两个 VC,都有一个 tableView,在第一个中,您可以选择多个类别的地点(谷歌地点),他们将去填充数组类别,第二个应该根据前一个 Controller 中选择的类别加载 x 半径(地理定位)中的 x 位置,如果我不添加可以在我的 TableView 中加载的位置限制,则循环将完全迭代一个接一个的类别,问题是他不会一次按类别加载一个位置,而是加载第一个项目/类别的所有位置,然后加载第二个项目/类别的所有位置,等等。因此,如果我添加一个限制,例如 4 和 i在我的数组中选择了两个类别,他不会加载第一个类别的 2 个位置和第二个类别的两个位置,但如果靠近我(例如)有 4 个或更多位置的第一个类别的类型,他将加载 4 个第一种类型的地方,所以这是我的问题
最佳答案
我建议您为该类别生成一个可能匹配的数组,然后使用shuffle
随机化数组中结果的顺序。这样你每次都会得到一组不同的匹配(当然取决于你对该类别有多少实际结果)
关于ios - 通过确保每次使用数组的不同元素来创建 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47176775/