ここにあるヘルスキットのチュートリアルに従っています
古いバージョンの Swift (1.2) を使用しており、最新バージョン (この記事の執筆時点では Swift 2.2) に変換しようとしています。
エラーは、処理を行う必要があることを示していますdo, catch, and try
が、それでも同じエラーがスローされますCall can throw, but it is not marked with 'try' and the error not handled
か?
以下に私の試みを追加しました。Swift 2.2 では、最新のものを使用してエラーをチェックする必要がありますif error != nil
か? それとも、do, catch, try
今の取り扱いで扱われるのでしょうか?
var error:NSError?
var age:Int?
// 1. Request birthday and calculate age
if let birthDay = healthKitStore.dateOfBirth()
{
do {
let today = NSDate()
let calendar = NSCalendar.currentCalendar()
let differenceComponents = NSCalendar.currentCalendar().components(.CalendarUnitYear, fromDate: birthDay, toDate: today, options: NSCalendarOptions(0) )
try! age = differenceComponents.year
} catch {
print(error)
}
}
if error != nil {
print("Error reading Birthday: \(error)")
}