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 1.94 KB | None | 0 0
  1. func modifyData(data: String, inic: Bool)->[String:[String:String]]?{
  2.         let a = data.split(separator: ":", maxSplits: 1) // odstraneni prefixu, data v a[1]
  3.         let b = a[1].components(separatedBy: "GTSAP1_") // ziskani id objektu (v b[0]), zbytek b[1]
  4.         var c: Array<Substring> = []
  5.         if b.count>1{
  6.              c = String(b[1]).split(separator: "_", maxSplits: 1) // ziskani typu objektu (c[0]), jmena a hodnoty promenne (c[1])
  7.             if c.count>2{
  8.                 return nil
  9.             }
  10.         }else{
  11.             return nil
  12.         }
  13.         //kontrola jestli je objekt podstatny
  14.         if  isImportantObject(object: String(c[0])){
  15.             var out: [String:[String:String]] = [:]
  16.             var dat: [String:String] = [:]
  17.             var d = c[1].split(separator: ",", maxSplits: 1) // rozdeleni jmena (d[0]) a hodnoty (d[1]) promenne
  18.             //odstraneni uvozovek v pripade ze se jedna o NAME nebo FILE
  19.             if d[0] == "NAME" || d[0] == "FILE"{
  20.                 d[1] = d[1][d[1].index(d[1].startIndex, offsetBy: 1)...d[1].index(d[1].endIndex, offsetBy: -2)]
  21.             }
  22.             //pokud neni inicializace, zapise se jmeno promenne a jeji hodnota
  23.             //a nasledne se pridaji do slovniku pod id objektu
  24.             if inic == false {
  25.                 dat[String(d[0])] = String(d[1])
  26.                 print(data)
  27.                 out[String(b[0]) + "GTSAP1"] = dat
  28.                 print(out)
  29.                 return out
  30.             } else {
  31.                 //pri inicializaci se zapise id objektu a jeho jmeno
  32.                 if out[String(c[0])] != nil {
  33.                     dat = out[String(c[0])]!
  34.                     dat[String(b[0]) + "GTSAP1"] = String(d[1])
  35.                 } else {
  36.                     dat[String(b[0]) + "GTSAP1"] = String(d[1])
  37.                 }
  38.                 out[String(c[0])] = dat
  39.                 return out
  40.             }
  41.         }
  42.         return nil
  43.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement