我们如何正确测试nils?
Xcode 7.01抛出了我们之前没有的新错误。
我们收到此错误:
“二元运算符'!='不能应用于类型的操作数 '[NSObject:Anyobject]'和'NilLiteralConvertible'“
..来自此代码:
// send request data to phone and handle reply or error
var didOpenParent : Bool = WKInterfaceController.openParentApplication(requestData, reply: { (reply, error) -> Void in
// if we get a response, handle it appropriately
if error == nil && reply != nil
{
// code continues
Apple's documentation给出了使用“!=”测试nils的示例。尝试一些答案建议here,例如检查reply.isEqual(nil)或reply.isEmpty是否对我们不起作用。
我们缺少什么?
答案 0 :(得分:2)
reply
此处的类型为[NSObject : AnyObject]
,这是非可选 dictionary类型。你不需要 - 而且,正如你所发现的那样,不能 - 检查它是否为零。
答案 1 :(得分:0)
您无法检查非可选字典是否为nil,但您可以通过调用isEmpty确认应用程序是否发送了回复词典
if error == nil && !reply.isEmpty