github.com/keysonZZZ/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgRpc/kmgRpcSwift/tplInnerClass.go (about) 1 package kmgRpcSwift 2 3 import ( 4 "bytes" 5 "github.com/bronze1man/kmg/kmgStrings" 6 "strings" 7 ) 8 9 func (config InnerClass) tplInnerClass() string { 10 var _buf bytes.Buffer 11 _buf.WriteString(` 12 `) 13 if config.IsPublic { 14 } else { 15 _buf.WriteString(`private`) 16 } 17 _buf.WriteString(` struct `) 18 _buf.WriteString(config.Name) 19 _buf.WriteString(`{ 20 `) 21 for _, field := range config.FieldList { 22 _buf.WriteString(` 23 var `) 24 _buf.WriteString(field.Name) 25 _buf.WriteString(`:`) 26 _buf.WriteString(field.TypeStr) 27 _buf.WriteString(` = `) 28 _buf.WriteString(field.TypeStr) 29 _buf.WriteString(`() 30 `) 31 } 32 _buf.WriteString(` 33 `) 34 if config.IsPublic { 35 _buf.WriteString(` 36 mutating func ToData(inData:JSON){ 37 `) 38 for _, field := range config.FieldList { 39 _buf.WriteString(` 40 `) 41 switch field.TypeStr { 42 case "Int": 43 _buf.WriteString(`self.`) 44 _buf.WriteString(field.Name) 45 _buf.WriteString(` = inData["`) 46 _buf.WriteString(field.Name) 47 _buf.WriteString(`"].intValue 48 `) 49 case "NSString": 50 _buf.WriteString(`self.`) 51 _buf.WriteString(field.Name) 52 _buf.WriteString(` = inData["`) 53 _buf.WriteString(field.Name) 54 _buf.WriteString(`"].stringValue 55 `) 56 case "Bool": 57 _buf.WriteString(`self.`) 58 _buf.WriteString(field.Name) 59 _buf.WriteString(` = inData["`) 60 _buf.WriteString(field.Name) 61 _buf.WriteString(`"].boolValue 62 `) 63 case "NSDate": 64 _buf.WriteString(`self.`) 65 _buf.WriteString(field.Name) 66 _buf.WriteString(` = inData["`) 67 _buf.WriteString(field.Name) 68 _buf.WriteString(`"].stringValue.toDate(format: DateFormat.ISO8601)! 69 `) 70 case "[NSString]", "[Int]", "[Bool]", "[NSDate]": 71 _buf.WriteString(`self.`) 72 _buf.WriteString(field.Name) 73 _buf.WriteString(` = inData["`) 74 _buf.WriteString(field.Name) 75 _buf.WriteString(`"].arrayObject as! `) 76 _buf.WriteString(field.TypeStr) 77 _buf.WriteString(` 78 `) 79 default: 80 if strings.HasPrefix(field.TypeStr, "[") { 81 _buf.WriteString(` inData["Some"].array!.forEach({body in 82 `) 83 oneType := kmgStrings.SubStr(field.TypeStr, 1, -1) 84 _buf.WriteString(` 85 var one:`) 86 _buf.WriteString(oneType) 87 _buf.WriteString(` = `) 88 _buf.WriteString(oneType) 89 _buf.WriteString(`() 90 one.ToData(body) 91 self.`) 92 _buf.WriteString(field.Name) 93 _buf.WriteString(`.append(one) 94 })`) 95 } else { 96 _buf.WriteString(`.ToData(inData["`) 97 _buf.WriteString(field.Name) 98 _buf.WriteString(`"])`) 99 } 100 } 101 _buf.WriteString(` 102 `) 103 } 104 _buf.WriteString(` 105 } 106 `) 107 } 108 _buf.WriteString(` 109 } 110 `) 111 return _buf.String() 112 }