Guest User

Untitled

a guest
Jan 19th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. class ChannelInfo: NSObject {
  2.  
  3. var logo: String?
  4. var channelName: String?
  5. var id: NSNumber?
  6.  
  7.  
  8. init(logo: String, channelName: String , id: NSNumber) {
  9.  
  10. self.logo = logo
  11. self.channelName = channelName
  12. self.id = id
  13. }
  14.  
  15. init(resDictionary: [String:Any]) {
  16.  
  17. logo = resDictionary["artwork_608x342"] as? String
  18. channelName = resDictionary["name"] as? String
  19. id = resDictionary["id"] as? NSNumber
  20.  
  21. }
  22.  
  23.  
  24. static func updateAllChannels(completionHandler:@escaping (_ channels: [ChannelInfo]) -> Void){
  25.  
  26. let nm = NetworkManager.sharedManager// singleton handles network connections and json parsing
  27.  
  28.  
  29. nm.getJSONData(urlExtension: "channels/all/0/50", completion: {
  30. data in
  31.  
  32. var channels = [ChannelInfo]()
  33.  
  34. if let jsonDictionary = nm.parseJSONFromData(data)
  35. {
  36. let resultsDictionaries = jsonDictionary["results"] as! [[String : Any]]
  37. for resultsDictionary in resultsDictionaries {// enumerate through dictionary
  38. let newChannel = ChannelInfo(resDictionary: resultsDictionary)
  39. channels.append(newChannel)
  40. }
  41. }
  42. completionHandler(channels)
  43.  
  44. })
  45. }
  46. }
  47.  
  48. var channelArray: [ChannelInfo] = []
  49.  
  50. override func viewDidLoad() {
  51. channelArray = ChannelInfo.updateAllChannels(completionHandler: { _ in
  52.  
  53. self.channelCollectionView.reloadData()
  54. })
  55. }
Add Comment
Please, Sign In to add comment