Swift 分解语句而不是使用逗号
我有以下实现,但我需要分解语句,不要使用Swift 分解语句而不是使用逗号,swift,Swift,我有以下实现,但我需要分解语句,不要使用,组合它们。重构现有代码的最佳方法是什么 do { let school = try schoolManager.currentSchool(), schoolName = school.name return schoolName } catch { return nil } 由于除了抓取学校的名称,您实际上不需要对学校做任何事情,因此您可以: do { return try schoolManager.currentSchoo
,
组合它们。重构现有代码的最佳方法是什么
do {
let school = try schoolManager.currentSchool(), schoolName = school.name
return schoolName
} catch {
return nil
}
由于除了抓取学校的
名称
,您实际上不需要对学校做任何事情,因此您可以:
do {
return try schoolManager.currentSchool().name
} catch {
return nil
}
或者,更简洁地说,由于您没有处理try
引发的错误,因此可以使用try?
和可选链接,例如:
let school = try? schoolManager.currentSchool()
return school?.name
或
或者传播使方法抛出的错误(通常是IMO的最佳选项),或者它回避了一个问题:
currentSchool
是否抛出有意义的错误,或者它是否应该只返回一个可选的而不抛出错误。但这个答案试图解决如何简化问题中提出的语法的具体问题。
return (try? schoolManager.currentSchool())?.name