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