Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 尝试从手表读取心率时出错_Ios_Swift - Fatal编程技术网

Ios 尝试从手表读取心率时出错

Ios 尝试从手表读取心率时出错,ios,swift,Ios,Swift,我正在尝试构建一个应用程序,从HealthKit读取心率数据并将其显示在表中,但每当我运行代码时,它都会终止,因为它在以下方法中发现一个nil: 扩展接口控制器:HeartRateDelegate{ func heartRateUpdated(heartRateSamples: [HKSample]) { guard let heartRateSamples = heartRateSamples as? [HKQuantitySample] else { return

我正在尝试构建一个应用程序,从HealthKit读取心率数据并将其显示在表中,但每当我运行代码时,它都会终止,因为它在以下方法中发现一个nil:

扩展接口控制器:HeartRateDelegate{

func heartRateUpdated(heartRateSamples: [HKSample]) {

    guard let heartRateSamples = heartRateSamples as? [HKQuantitySample] else {
        return
    }

    DispatchQueue.main.async {
        self.heartRateSamples = heartRateSamples
        guard let sample = heartRateSamples.first else {
            return
        }
        let value = sample.quantity.doubleValue(for: HKUnit(from: "count/min"))
        let heartRateString = String(format: "%.00f", value)
        self.heartRateLabel.setText(heartRateString)//where it finds the nil
    }
}
有没有一种方法可以将这一行包装成可选的?这可能不用说,但我对iOS编程相当陌生

编辑:heartRateLabel是我在故事板中连接的一个插座(全部在watch interface controller中),但我认为我没有正确初始化它。在interface controller类中,我编写了:

类InterfaceController:WKInterfaceController{

@IBOutlet var heartRateLabel: WKInterfaceLabel!

@IBOutlet var workoutButton: WKInterfaceButton!

let healthKitManager = HealthKitManager.sharedInstance 

var isWorkoutInProgress = false

var workoutSession: HKWorkoutSession?

var workoutStartDate: Date?

var heartRateQuery: HKQuery?

var heartRateSamples: [HKQuantitySample] = [HKQuantitySample]()

我是否需要在此步骤中对其进行初始化?语法是什么?

是否为可选的
heartRateLabel
即当您进行此打印时,是否将其初始化为
UILabel?
您得到的是什么?heartRateLabel是一个插座吗?您在故事板中连接了它吗?@Paolo我编辑了代码,以显示我在界面控制器中初始化heartRateLabel的位置它是
heartRateLabel
一个可选的?即当您进行此打印(值)时,它是否初始化为
UILabel?
你得到了什么?heartRateLabel是一个插座吗?你把它连接到你的故事板上了吗?@Paolo我编辑了代码,显示了我在Interface Controller中初始化heartRateLabel的位置