在Swift中,你可以传递nil作为函数的输入吗?

时间:2015-03-10 20:09:02

标签: objective-c oop swift design-patterns null

我正在阅读许多关于你不应该检查一个物品是否为零的文章。它是一个objC范例,它是一个糟糕的设计,并且很快被淘汰了。所以我的问题是,在下面的例子中,你可以通过" group"作为零值?调用函数时是否会发生nil-checking机制,因此无需实现if(group == nil){..}?

func deleteMembershipForGroup(group:GroupData){
}

2 个答案:

答案 0 :(得分:12)

您需要使用可选项:

func deleteMembershipForGroup(group:GroupData?){
  if let groupReal = group {
  // not nil
  }
}

答案 1 :(得分:-1)

是的! Thomas Kilian是正确的,它对我有用!然后,您将可以传递nil参数。您还将注意到,使用可选变量,它还将删除警告,指出变量“ group”将始终为真。

// getter for `image` property in user model object
public function getImageAttribute() { 
    return $this->avatar || 'some-default-image';
}