根据Bool调用不同的方法,Swift中不使用if语句
是否可以根据根据Bool调用不同的方法,Swift中不使用if语句,swift,methods,Swift,Methods,是否可以根据Bool值调用一个或另一个方法?我希望这样做: var isLocked: Bool { didSet { // This is not Swift but indicates what I'm looking for. self.activityIndicator.(isLocked ? startAnimating() : stopAnimating()) } } 我希望使用现有的Swift 2(或3)语言功能来实现这一点
Bool
值调用一个或另一个方法?我希望这样做:
var isLocked: Bool
{
didSet
{
// This is not Swift but indicates what I'm looking for.
self.activityIndicator.(isLocked ? startAnimating() : stopAnimating())
}
}
我希望使用现有的Swift 2(或3)语言功能来实现这一点;没有类扩展
可能是重复的,但找不到。怎么样:
didSet {
isLocked ? self.activityIndicator.startAnimating() :
self.activityIndicator.stopAnimating()
}
那么:
didSet {
isLocked ? self.activityIndicator.startAnimating() :
self.activityIndicator.stopAnimating()
}
的确斯威夫特扭曲了我的思绪,期待着一个别致的建筑:-)难道没有办法接近我所寻找的。是的。如果你真的想变得更有趣,你可以扩展
UIActivityIndicator
,并编写一个函数来接受bool并处理其中的三元(即handleAnimatingState(shouldAnimate:bool)
)。但对我来说,这是过度工程化的。不,我正在寻找本地的Swift 2.3(或3.0)功能;我的原始代码是你能得到的最精简的。斯威夫特扭曲了我的思绪,期待着一个别致的建筑:-)难道没有办法接近我所寻找的。是的。如果你真的想变得更有趣,你可以扩展UIActivityIndicator
,并编写一个函数来接受bool并处理其中的三元(即handleAnimatingState(shouldAnimate:bool)
)。但对我来说,这是过度工程化的。不,我正在寻找本地的Swift 2.3(或3.0)功能;我的原始代码是您将得到的最精简的代码。