无法将'DateComponents'类型的值分配给'String?'类型的值

问题描述:

下面的代码无法编译,我不知道在哪里可以找到苹果的文档中的答案:无法将'DateComponents'类型的值分配给'String?'类型的值

let birthdate = try currentHealthStore.dateOfBirthComponents() 
     var formatter = DateFormatter() 
     formatter.dateFormat = "dd-MM" 
     var formattedDate = formatter.string(for: birthdate) 
     self.ageValueLabel.text = birthdate 

误差从最后一行它不能转换为字符串茎。

+0

'birthdate'中的值是什么,并且也告诉类型 –

+0

它应该是HKHealthStore框架中的出生日期组件。 currentHealthStore只是一个从HKHealthStore类派生的对象。 @RajanMaheshwari –

+1

你需要写这个 self.ageValueLabel.text = formatter.stringFromDate(date) – Sahil

您正试图为标签指定一个dateComponent值。但是一个标签需要一个String值。所以你只需要做到这一点。

self.ageValueLabel.text = formattedDate 
+1

'birthdate'的类型是'DateComponents'。代码'String(birthdate)'甚至不会编译。为什么这个答案被投票接受? – rmaddy