Skip to content

Instantly share code, notes, and snippets.

@atulkhatri
atulkhatri / NetworkManager3.swift
Created July 12, 2021 17:04
tvOS Bootcamp Network Manager 3
private func executeRequest<T: Codable>(request: URLRequest, completion: ((T?, Error?) -> Void)?) {
let session = URLSession(configuration: .default)
let dataTask = session.dataTask(with: request) { (data, response, error) in
guard let data = data else {
completion?(nil, error)
return
}
if let decodedResponse = try? JSONDecoder().decode(T.self, from: data) {
DispatchQueue.main.async {
completion?(decodedResponse, nil)
@atulkhatri
atulkhatri / NetworkManager.swift
Created July 12, 2021 17:02
tvOS Bootcamp Network Manager
struct NetworkManager {
}
@atulkhatri
atulkhatri / TabBarViewController.swift
Created July 12, 2021 16:54
tvOS Bootcamp TabBarViewController
private func setupView() {
let moviesVC = HomeViewController(nibName: "HomeViewController", bundle: nil)
moviesVC.title = "Movies"
let seriesVC = HomeViewController(nibName: "HomeViewController", bundle: nil)
seriesVC.title = "Series"
let settingsVC = SettingsViewController(nibName: "SettingsViewController", bundle: nil)
settingsVC.title = "Settings"
viewControllers = [moviesVC, seriesVC, settingsVC]
}
@atulkhatri
atulkhatri / AppDelegate.swift
Last active July 12, 2021 16:55
tvOS Bootcamp AppDelegate
window = UIWindow(frame: UIScreen.main.bounds)
let controller = HomeViewController(nibName: "HomeViewController", bundle: nil)
window?.rootViewController = controller
window?.makeKeyAndVisible()