原文链接:http://nshipster.com/ios8/
前言
本文章主旨在于揭示如下各大标题下对应内容的特性,以及分享一些比较晦涩但却又必须了解的API。
NSProcessInfo -isOperatingSystemAtLeastVersion
可以用来比较当前系统版本:
import Foundation
let yosemite = NSOperatingSystemVersion(majorVersion: 10, minorVersion: 10, patchVersion: 0)
NSProcessInfo().isOperatingSystemAtLeastVersion(yosemite) // false
我们可以基于目标任务得弓箭配置环境来有条件的编译源代码。
New NSFormatter Subclasses
iOS8和OS X Yosemite推出了NSEnergyFormatter, NSMassFormatter, & NSLengthFormatter
三种单位。【注:主要是为了HealthKit服务】
NSEnergyFormatter
NSEnergyFormatter单位是焦耳,运动能量使用单位,卡路里是营养能量单位。
let energyFormatter = NSEnergyFormatter()
energyFormatter.forFoodEnergyUse = true
let joules = 10_000.0
println(energyFormatter.stringFromJoules(joules)) // "2.39 Cal"
NSMassFormatter
记住HealthKit中处理用户体重是使用NSMassFormatter
:
let massFormatter = NSMassFormatter()
let kilograms = 60.0
println(massFormatter.stringFromKilograms(kilograms)) // "132 lb"