Вам необходимо присвоить переменную locale businesses
свойству класса.
CDYelpFusionKitManager.shared.apiClient.searchBusinesses(byTerm: "Bars", location: "Hollywood, California", latitude: nil, longitude: nil, radius: 10000, categories: [CDYelpBusinessCategoryFilter.bars], locale: CDYelpLocale.english_unitedStates, limit: 5, offset: 0, sortBy: CDYelpBusinessSortType.distance, priceTiers: [CDYelpPriceTier.twoDollarSigns], openNow: true, openAt: nil, attributes: nil) { (response) in
if let response = response,
let businesses = response.businesses,
businesses.count > 0 {
for business in (response.businesses)! {
self.names = business.name
print(self.names)
}
self.businesses = businesses
}
}
Выше будет правильно обновлять вашу собственность. После этого вам нужно будет указать табличное представление для перезагрузки. Убедитесь, что перезагрузка выполнена в главной очереди.
Это делает ваш окончательный код примерно таким:
CDYelpFusionKitManager.shared.apiClient.searchBusinesses(byTerm: "Bars", location: "Hollywood, California", latitude: nil, longitude: nil, radius: 10000, categories: [CDYelpBusinessCategoryFilter.bars], locale: CDYelpLocale.english_unitedStates, limit: 5, offset: 0, sortBy: CDYelpBusinessSortType.distance, priceTiers: [CDYelpPriceTier.twoDollarSigns], openNow: true, openAt: nil, attributes: nil) { (response) in
if let response = response,
let businesses = response.businesses,
businesses.count > 0 {
for business in (response.businesses)! {
self.names = business.name
print(self.names)
}
self.businesses = businesses
DispatchQueue.main.async {
self.tablView.reloadData()
}
}
}