• Apple Watch应用开发之PM2.5查询


    最近脚伤,停止了跑步,看来又要胖了,不过最近倒是对Swift语言很感兴趣,然后就开始了Apple Watch应用的开发,今天是6月8日,苹果的发布会就会在今天过后的凌晨一点开始,今天还是有点小激动的,哈哈。好吧,吹水这么久,现在开始说说关于这款Apple Watch应用的功能,简而言之就是实时查看这几个城市的PM2.5值,我有一个同学比较特殊,他说他去操场跑步的前提是有时间,然后就是当天PM2.5值不超过100,后来我也学他PM2.5值超过100不去跑步,好吧,我必须澄清我可不是为了偷懒,只是权衡利弊才做出的计划。ok,下面就看看这款Apple Watch的运行界面:

    在这篇博客里,我简要粘贴一些核心代码,作为参考:

    //闭包函数,获取json数据
        func getAQI(city:String,completion:(CityAQI?) -> ()){
            let baseURL = "http://apistore.baidu.com/microservice/aqi?city="
            let session = NSURLSession.sharedSession()
            let requestURL = (baseURL + city).stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
            
            let task = session.dataTaskWithURL(NSURL(string:requestURL!)!, completionHandler: { (data, _, error) -> Void in
                if error == nil {
                    if let json = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: nil) as? NSDictionary{
                        //Swift1.2语法在Xcode6.3.1才能使用,低版本Xcode6.2是不能使用Swfit1.2的语法的
                        if let retData = json["retData"] as? NSDictionary, aqi = retData["aqi"] as? Int, level = retData["level"] as? String{
                            let cityAQI = CityAQI(city: city, aqi: aqi, level: level)
                            completion(cityAQI)
                        }
                    }
                }
            })
            task.resume()
        }
     //如果是北京AQI标签可见
            if let bj = labelAQIBJ,levelbj = labelLvlBJ{
                getAQI("北京", completion: {(ca:CityAQI?) -> () in
                    if let ca = ca{
                        bj.setText(ca.aqi.description)
                        bj.setTextColor(warningInfo(ca.aqi).fgcolor)
                        
                        levelbj.setText(ca.level)
                        levelbj.setTextColor(warningInfo(ca.aqi).fgcolor)
                        
                        self.gpBJ.setBackgroundColor(warningInfo(ca.aqi).bgcolor)
                        self.labelSugBJ.setText(warningInfo(ca.aqi).suggestion)
                        
                    }else{
                        println("没有获取到数据!")
                    }
                })
            }

    这篇博客我就写到这里,很期待今天晚上苹果发布会,现在我的开发环境是Xcode6.3.1+Swift1.2,而今晚的苹果发布会传言会发布iOS9与Swift2.0语言,真是期待呀~

  • 相关阅读:
    乘电梯(动规+单调队列队头优化)
    贪心基础题目整理
    动规基础方程整理
    [第一波模拟day3T3]{益智游戏}(game.cpp)
    [第一波模拟day3T2]{独立集}(bubble.cpp)
    [第一波模拟day1T2]{分班}(divide.cpp)
    考前模版整理
    [Noip2004][Day ?][T?]合并果子(?.cpp)
    [Noip2017][Day 1][T1]玩具谜题(toy.cpp)
    新开始?
  • 原文地址:https://www.cnblogs.com/abelsu/p/4561137.html
Copyright © 2020-2023  润新知