当我调用以下函数读取dataOfBirth时,在设备上进行测试时,我一直收到错误的访问错误。我在Xcode 7 Beta中使用Swift 2.0

    func updateUsersAge(){

    do{
        var error : NSError!
        let birthdate = try currentHealthStore.dateOfBirthWithError()

        let now = NSDate()

        let dateComponents = NSCalendar.currentCalendar().components(NSCalendarUnit.NSYearCalendarUnit, fromDate: birthdate, toDate: now, options: NSCalendarOptions.WrapComponents)
        let age = dateComponents.year

        self.ageValueLabel.text = NSNumberFormatter.localizedStringFromNumber(NSNumber(integer: age), numberStyle: NSNumberFormatterStyle.NoStyle)

    }
    catch{

        print("Not avaialble")
    }
}


在AppDelegate中,currentHealthStore被定义为全局变量:

let currentHealthStore = HKHealthStore()


一旦执行以下行,就会收到错误:

let birthdate = try currentHealthStore.dateOfBirthWithError()

最佳答案

此代码在Swift 2 XCode 7.1.1中对我有效

let birthDay = try healthStore.dateOfBirth()


在使用错误将错误传递回之前,已使用名称dateOfBirthWithError。

关于ios - 读取dateOfBirthWithError中的HealthKit中的EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30947703/

10-15 04:40