github.com/keysonZZZ/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgRpc/kmgRpcSwift/tplInnerClass.gotpl (about) 1 <? 2 package kmgRpcSwift 3 import ( 4 "strings" 5 "github.com/bronze1man/kmg/kmgStrings" 6 ) 7 func (config InnerClass)tplInnerClass() string { 8 ?> 9 <?if config.IsPublic {}else{?>private<?}?> struct <?=config.Name?>{ 10 <?for _,field:=range config.FieldList{?> 11 var <?=field.Name?>:<?=field.TypeStr?> = <?=field.TypeStr?>() 12 <? } ?> 13 <?if config.IsPublic{?> 14 mutating func ToData(inData:JSON){ 15 <?for _,field:=range config.FieldList{?> 16 <?switch field.TypeStr{ 17 case "Int":?>self.<?=field.Name?> = inData["<?=field.Name?>"].intValue 18 <?case "NSString":?>self.<?=field.Name?> = inData["<?=field.Name?>"].stringValue 19 <?case "Bool":?>self.<?=field.Name?> = inData["<?=field.Name?>"].boolValue 20 <?case "NSDate":?>self.<?=field.Name?> = inData["<?=field.Name?>"].stringValue.toDate(format: DateFormat.ISO8601)! 21 <?case "[NSString]","[Int]","[Bool]","[NSDate]":?>self.<?=field.Name?> = inData["<?=field.Name?>"].arrayObject as! <?=field.TypeStr?> 22 <?default: if strings.HasPrefix(field.TypeStr,"["){?> inData["Some"].array!.forEach({body in 23 <? oneType := kmgStrings.SubStr(field.TypeStr,1,-1)?> 24 var one:<?=oneType?> = <?=oneType?>() 25 one.ToData(body) 26 self.<?=field.Name?>.append(one) 27 })<?}else{?>.ToData(inData["<?=field.Name?>"])<?}}?> 28 <? } ?> 29 } 30 <?}?> 31 } 32 <? 33 } 34 ?>