Это очень широкий вопрос и, как правило, он не подходит для StackOverflow, который предназначен для более "детальных вопросов".
При этом я бы рекомендовал создать класс с именем DataManager
или что-то в этом роде.Что касается выполнения вызовов API, я бы рекомендовал использовать что-то вроде Alamofire
для выполнения вызовов API.Наконец, я бы порекомендовал прочитать протокол Codable
для декодирования JSON, который API отправляет обратно.Когда вы декодируете свой JSON, вы захотите сохранить структуры где-нибудь, где ваш контроллер представления сможет их увидеть.
Чтобы использовать CocoaPods, вот хороший учебник (Вы использовали бы их дляAlamofire).
Ваш менеджер данных будет выглядеть примерно так (я буду использовать NSObject
для простоты, но вы можете просто создать свой собственный класс):
struct Shows: Codable {
// Whatever the API sends back, you've got to map it here
}
class DataManager: NSObject {
var shows: [Shows] = [] // empty array of shows to start
func methodToGetAPIResponse() {
// Alamofire call & JSON decoding here
// Once you get a valid response, shows = try JSONDecoder().decode...
}
}
Вы можетечто-то вроде этого для вашего DataManager
в вашем классе контроллера представления:
let dataManager = DataManager()
Тогда в ваших методах UITableViewDataSource numberOfRowsAtIndexPath
будет return dataManager.shows.count
и cellForRowAtIndexPath
, вы получитеобъект для заполнения ваших ярлыков примерно так:
let show = dataManager.shows[indexPath.row]
В любом случае, этого должно быть достаточно, чтобы вы начали.Удачи!Постарайтесь быть более детальным с вашими вопросами в будущем.