Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 3.20 KB | None | 0 0
  1. //inicializace mistnosti z prijatych dat
  2.     func rooms(data: [Int:[String:AnyObject]]) -> Int{
  3.         //vyprazdneni doposud ulozenych mistnosti
  4.         Room.Rooms = []
  5.         initG.setHidden(false)
  6.         roomsG.setHidden(true)
  7.         //informovani uzivatele o probihanem deji
  8.         initObj.setText("Místnosti: ")
  9.         initNum.setText("0/" + String(data.count))
  10.         initNum.setHidden(false)
  11.         initFinal.setHidden(false)
  12.         //kontrola jestli nastal error
  13.         if data[0]!["ERROR"] != nil{
  14.             let error = data[0]!["ERROR"]! as! [String]
  15.             switch error {
  16.             //ERROR 1 - soubor s mistnostmi neexistuje, inicializace obecne mistnosti
  17.             case ["1"]:
  18.                 Room.Rooms.append(Room.init(name: "VŠE", symbol: 1, scenes: [-1], lights: [-1], shutters: [-1], sockets: [-1], relays: [-1], displays: [-1]))
  19.                 return 0
  20.                 break
  21.             //ERROR 2 - chyba pri zpracovani souboru mistnosti na strane mobilu
  22.             case ["2"]:
  23.                 return -1
  24.                 break
  25.             default:
  26.                 break
  27.             }
  28.         } else {
  29.             //vlastni inicializace mistnosti
  30.             for a in 0...(data.count-1){
  31.                 initNum.setText(String(a) + "/" + String(data.count))
  32.                 let b = data[a] as! [String:AnyObject]
  33.                 let c = b["devices"] as! [String]
  34.                 //priprava poli pro zapis objektu mistnosti
  35.                 var lights: [Int] = []
  36.                 var relays: [Int] = []
  37.                 var scenes: [Int] = []
  38.                 var shutters: [Int] = []
  39.                 var sockets: [Int] = []
  40.                 var displays: [Int] = []
  41.                 //roztrideni kazdeho z objektu mistnosti na zaklade kategorie
  42.                 for i in c {
  43.                     if Scene.getSceneIndex(id: i) != nil {
  44.                         scenes.append(Scene.getSceneIndex(id: i)!)
  45.                     } else if Light.getLightIndex(id: i) != nil {
  46.                         lights.append(Light.getLightIndex(id: i)!)
  47.                     } else if Shutter.getShutterIndex(id: i) != nil {
  48.                         shutters.append(Shutter.getShutterIndex(id: i)!)
  49.                     } else if Socket.getSocketIndex(id: i) != nil {
  50.                         sockets.append(Socket.getSocketIndex(id: i)!)
  51.                     } else if Relay.getRelayIndex(id: i) != nil {
  52.                         relays.append(Relay.getRelayIndex(id: i)!)
  53.                     } else if Display.getDisplayIndex(id: i) != nil {
  54.                         displays.append(Display.getDisplayIndex(id: i)!)
  55.                     }
  56.                 }
  57.                 //inicializace mistnosti s objekty
  58.                 Room.Rooms.append(Room.init(name: b["name"]! as! String, symbol: Int(b["symbol"]! as! String)!, scenes: scenes, lights: lights, shutters: shutters, sockets: sockets, relays: relays, displays: displays))
  59.             }
  60.             //pridani obecne mistnosti na konec seznamu
  61.             Room.Rooms.append(Room.init(name: "VŠE", symbol: 1, scenes: [-1], lights: [-1], shutters: [-1], sockets: [-1], relays: [-1], displays: [-1]))
  62.             return 1
  63.         }
  64.         return -1
  65.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement