【发布时间】:2014-11-15 04:58:31
【问题描述】:
这应该如何在 Swift 中完成?编译器错误是“无法使用类型为 '(NSURL, NilLiteralConvertible)' 的参数列表调用 '=='”
var request = NSURLRequest()
if request.URL == nil {
}
似乎正常的模式是在对象可能没有值时声明类型为可选。
但是在这种情况下,我不确定为什么 Apple 没有在 NSURLRequest 类中将 URL 属性声明为可选变量。
【问题讨论】:
-
看起来这样可行,但仍然不确定为什么如果值可以为 nil 时设计模式要求非可选:如果 request.URL as AnyObject? == 无 { }
-
目的是什么?您是否要分配一个可选项,然后检查它是否稍后分配?如果是这样,请稍后初始化请求并将其设为可选。
-
真正的目的是了解可空对象的频率 -> Optional 是一个不正确的假设。