Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ChannelInfo: NSObject {
- var logo: String?
- var channelName: String?
- var id: NSNumber?
- init(logo: String, channelName: String , id: NSNumber) {
- self.logo = logo
- self.channelName = channelName
- self.id = id
- }
- init(resDictionary: [String:Any]) {
- logo = resDictionary["artwork_608x342"] as? String
- channelName = resDictionary["name"] as? String
- id = resDictionary["id"] as? NSNumber
- }
- static func updateAllChannels(completionHandler:@escaping (_ channels: [ChannelInfo]) -> Void){
- let nm = NetworkManager.sharedManager// singleton handles network connections and json parsing
- nm.getJSONData(urlExtension: "channels/all/0/50", completion: {
- data in
- var channels = [ChannelInfo]()
- if let jsonDictionary = nm.parseJSONFromData(data)
- {
- let resultsDictionaries = jsonDictionary["results"] as! [[String : Any]]
- for resultsDictionary in resultsDictionaries {// enumerate through dictionary
- let newChannel = ChannelInfo(resDictionary: resultsDictionary)
- channels.append(newChannel)
- }
- }
- completionHandler(channels)
- })
- }
- }
- var channelArray: [ChannelInfo] = []
- override func viewDidLoad() {
- channelArray = ChannelInfo.updateAllChannels(completionHandler: { _ in
- self.channelCollectionView.reloadData()
- })
- }
Add Comment
Please, Sign In to add comment