提问者:小点点

表达式类型含糊不清,没有更多上下文Healthkit ios Swift


我按照本教程使用HealthKit,我得到的错误,如标题所述

这是我目前为止的代码。

import Foundation
import UIKit
import HealthKit

class YASHealthKitManager {
let healthKitStore:HKHealthStore = HKHealthStore()    
class func authorizeHealthKit(completion: ((success:Bool, error:NSError!) -> Void)!)
{
    let healthKitTypesToRead  : [String : AnyObject] = Set(arrayLiteral:[

        HKObjectType.characteristicTypeForIdentifier(HKCharacteristicTypeIdentifierDateOfBirth),
        HKObjectType.characteristicTypeForIdentifier(HKCharacteristicTypeIdentifierBloodType),
        HKObjectType.characteristicTypeForIdentifier(HKCharacteristicTypeIdentifierBiologicalSex),
        HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierBodyMass),
        HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierHeight),
        HKObjectType.workoutType()
        ])

    let healthKitTypesToWrite = Set(arrayLiteral:[
        HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierBodyMassIndex),
        HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierActiveEnergyBurned),
        HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDistanceWalkingRunning),
        HKQuantityType.workoutType()
        ])

    if !HKHealthStore.isHealthDataAvailable()
    {
        let error = NSError(domain: "com.raywenderlich.tutorials.healthkit", code: 2, userInfo: [NSLocalizedDescriptionKey:"HealthKit is not available in this Device"])
        if( completion != nil )
        {
            completion(success:false, error:error)
        }
        return;
    }

    // 4.  Request HealthKit authorization
    healthKitStore.requestAuthorizationToShareTypes(healthKitTypesToWrite, readTypes: healthKitTypesToRead) { (success, error) -> Void in

        if( completion != nil )
        {
            completion(success:success,error:error)
        }
    }
}

}

这是错误的屏幕截图

我不知道代码有什么问题,因为我只是从教程中复制了它。


共1个答案

匿名用户

Set(arrayLiteral:[a,b,c])更改为Set(arrayLiteral:a,b,c)