Swift 中的“!self”是什么意思

What does ' !self ' means in Swift

this tutorial我见过这种“!” + self like 操作,在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

你可以在它周围加上一个(心理)括号:

!(self.transitionContext!.transitionWasCancelled())

表示"logical not"。因此,如果 self.transitionContext!.transitionWasCancelled() = true,将 false 传递给函数 completeTransition,反之亦然。

self.transitionContext!中的!是Swift中的optional unwrapping,但与逻辑无关。

这不是 Swift 特定的东西,它是 not 运算符。 IE。 true == !false