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语言,真是期待呀~

原文地址:https://www.cnblogs.com/abelsu/p/4561137.html