从this tutorial我看到了这种“!” +自我操作,它在Swift中意味着什么?
override func animationDidStop(anim: CAAnimation!, finished flag: Bool) {
self.transitionContext?.completeTransition(!self.transitionContext!.transitionWasCancelled())
self.transitionContext?.viewControllerForKey(UITransitionContextFromViewControllerKey)?.view.layer.mask = nil
}
!self.transitionContext!.transitionWasCancelled() //returns true
self.transitionContext!.transitionWasCancelled() // without ! , return false
答案 0 :(得分:5)
你可以在它周围放一个(心理)括号:
!(self.transitionContext!.transitionWasCancelled())
这意味着“不符合逻辑”。因此,如果self.transitionContext!.transitionWasCancelled() = true
,请将false
传递给函数completeTransition
,反之亦然。
!
中的self.transitionContext!
在Swift中为optional unwrapping,但与逻辑无关。
答案 1 :(得分:1)
It's not a Swift-specific thing, it's the not
operator. I.E. true == !false