只有其他的“如果让”块?

mea*_*ers 1 if-statement let swift

在一个cellForRowAtIndexPath我有:

if let imageView = cell.viewWithTag(SOME_TAG) as? UIImageView
{
    // Nothing to do here.
}
else
{
    // Add image view to cell.
}
Run Code Online (Sandbox Code Playgroud)

但我只需要else块。有没有办法反转if let xyz =

(我知道我可以将它分解成一个if imageView == nil。)

刚刚发现了类似的问题

Jua*_*rti 5

您可以使用警卫队。它完全满足您的需求:

guard let x = x where x > 0 else {
        // Value requirements not met, do something
        return
    }
Run Code Online (Sandbox Code Playgroud)

  • 很好,但是对我来说,这感觉不像是一个“后卫”情况。但是也许我只需要习惯在这种情况下使用它。 (2认同)

小智 5

像这样的东西?

if cell.viewWithTag(SOME_TAG) == nil {

}
Run Code Online (Sandbox Code Playgroud)