shiter 2015-06-29 09:39 采纳率: 71.4%
浏览 2780
已采纳

ios swift string 类型转化为CGfloat给CGRectMake

     var currentNodeName:String!

    func parser(parser: NSXMLParser, didStartElement elementName: String!, namespaceURI: String!, qualifiedName qName: String!, attributes attributeDict: [NSObject : AnyObject]!)
    {

        currentNodeName = elementName

        if elementName=="background"
        {

            let stringx = attributeDict["x"]! as String
            //if let n = NSNumberFormatter().numberFromString(stringx)
            //{
             //   let x = CGFloat(n)
            //}
            //var y = attributeDict["y"]! as CGFloat
            //var width = attributeDict["width"]! as CGFloat
           var Height = attributeDict["Height"]! as String
            backgroundRect = CGRectMake(0,0,0,0)

        }

    }

从xml里面读出来都是string,怎么转换呢?

  • 写回答

2条回答 默认 最新

  • shiter 人工智能领域优质创作者 2015-07-07 07:32
    关注

    自己找到解决办法了,

     let x = CGFloat(((attributeDict["x"]! as String )as NSString).floatValue)
                    let y = CGFloat(((attributeDict["y"]! as String ) as NSString).floatValue)
                    let Width = CGFloat(((attributeDict["Width"]! as String )as NSString).floatValue)
                    let Height = CGFloat(((attributeDict["Height"]! as String ) as NSString).floatValue)
    
                    m_backgroundRect = CGRectMake(x,y,Width,Height)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信小程序 用oss下载 aliyun-oss-sdk-6.18.0.min client报错
  • ¥15 ArcGIS批量裁剪
  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥15 抖音看过的视频,缓存在哪个文件