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  ?>