【发布时间】:2016-01-12 13:49:40
【问题描述】:
假设我有以下类定义:
class Request {
let url: NSURL?
init?(url: String) {
guard let self.url = NSURL(string: url) else {
self.url = nil
return nil
}
}
}
guard 语句不起作用,所以我必须执行以下操作:
let url: NSURL?
init?(url: String) {
guard let _ = NSURL(string: url) else {
self.url = nil
return nil
}
self.url = NSURL(string: url)!
}
感觉很长 - 是否有另一种更简单的方法来实现我想要实现的目标,即创建一个可失败的初始化程序,其唯一的属性从 NSURL 获取一个值(返回一个可选值)。如果 NSURL 值返回 nil,则初始化程序失败并返回 nil。
【问题讨论】: